Personalized Menus and Media Content Interface

ABSTRACT

Methods and apparatus for generating personalized menus and a media content interface are provided. In one example, different device specific media asset lists are generated at different user devices for the same user based on the media consumption history at each device. In another example, media asset listings are displayed for multicast and on-demand media assets determined to be of interest to the user. An on-demand media asset is listed at a time when no other multicast media assets are listed. In another example, media asset listings for successive episodes of a media series are displayed in sequential order in response to an input to view successive episodes of a media series. In another example, a text search for media content is performed in which the search priority of media provider results is decreased relative to the search priority of media asset results as additional characters are added to a search string.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is a Continuation of co-pending U.S. patent applicationSer. No. 14/547,363, filed Nov. 19, 2014, the content of which is herebyincorporated by reference into the present application.

BACKGROUND

Many media content user interfaces, such as electronic program guides,present program information in a non-personalized manner. Conventionalmedia content interfaces require the viewer to interact with a staticprogram guide that contains an overwhelming amount of media informationfor programming from multiple media sources, including several mediacontent that the user has no interest in viewing. Viewers typicallyspend a considerable amount of time searching through such mediainterfaces to locate the content that they are interested in. Thereremains an ever-present need for a personalized media content interfacethat is tailored to present customized media recommendations in a mannerthat allows the viewer to easily view media content of interest to themin a more dynamic and user friendly format.

SUMMARY

The following summary is for illustrative purposes only, and is notintended to limit or constrain the detailed description.

Some of the features described herein relate to providing a display ofan interface comprising a user consumption schedule. The userconsumption schedule may identify a plurality of content items that auser has requested and corresponding times at which the plurality ofcontent items will be multicast. In response to identifying one or moreempty timeslots in the user consumption schedule and determining thatone or more content items of interest to the user are available ondemand, the one or more content items may be scheduled in the one ormore empty timeslots. In some embodiments, the one or more content itemsmay be selected by monitoring user consumption of content at each of aplurality of different user devices. The content selection may furthercomprise selecting different content items to list in user consumptionschedules of the different user devices such that the content itemslisted in each user consumption schedule are based on content that hasbeen consumed at a corresponding user device.

In some embodiments, the one or more content items determined to be ofinterest to the user may be identified by performing a media search. Aplurality of characters of an input search string for the media searchmay be received. A relative weighting may be determined between mediaproviders and media assets for the media search based on a determinationof whether a character count of the plurality of characters exceeds apredetermined number. The media search may be conducted such that themedia providers and media assets are weighted, respectively, based onthe relative weighting. In response to a determination that a number ofcharacters in the input search string is less than a predeterminednumber of characters, search results for the media providers may beordered for display before search results for the media assets.

In some embodiments, the user consumption schedule may be modified inresponse to receiving a user request to add a new content listing to theuser consumption schedule. A content listing for a first content item,originally scheduled to be viewed by the user when the first contentitem is multicast, may be moved to a new timeslot occurring after a timeat which the first content item is multicast. A recording instructionmay be issued to record the first content item when the first contentitem is multicast for future consumption. In some embodiments, the userrequest may comprise a request to view one or more episodes of arecurring series of episodes corresponding to the first content item.

In some embodiments, a first content item in the user consumptionschedule may be identified as an episode of a recurring series ofepisodes. One or more unwatched episodes preceding the first contentitem in the recurring series of episodes that the user has not alreadyconsumed may be identified. Content listings for the one or moreunwatched episodes may be generated at one or more timeslots that areprior to a scheduled consumption time of the first content item in theuser consumption schedule. The one or more unwatched episodes may bescheduled in one or more timeslots that precede a timeslot at which thefirst content item is scheduled for consumption.

The preceding presents a simplified summary in order to provide a basicunderstanding of some aspects of the disclosure. The summary is not anextensive overview of the disclosure. It is neither intended to identifykey or critical elements of the disclosure nor to delineate the scope ofthe disclosure. The summary merely presents some concepts of thedisclosure in a simplified form as a prelude to the description below.

BRIEF DESCRIPTION OF THE DRAWINGS

These and other features, aspects, and advantages of the presentdisclosure will become better understood with regard to the followingdescription, claims, and drawings. The present disclosure is illustratedby way of example, and not limited by, the accompanying figures in whichlike numerals indicate similar elements.

FIG. 1 illustrates an example communication network on which variousfeatures described herein may be used.

FIG. 2 illustrates an example computing device that can be used toimplement any of the methods, servers, entities, and computing devicesdescribed herein.

FIGS. 3A-B illustrate exemplary screen displays of personalized menus ona user media interface usable with features described herein.

FIG. 4 illustrates an exemplary data structure for populating apersonalized media interface.

FIGS. 5A-C and 6 illustrate various exemplary screen displays andinterface elements usable with features described herein.

FIG. 7A-B illustrate exemplary screen displays of media searchingfeatures described herein.

FIGS. 8A-G illustrate an example algorithm illustrating featuresdescribed herein.

DETAILED DESCRIPTION

In the following description of various illustrative embodiments,reference is made to the accompanying drawings, which form a parthereof, and in which is shown, by way of illustration, variousembodiments in which aspects of the disclosure may be practiced. It isto be understood that other embodiments may be utilized, and structuraland functional modifications may be made, without departing from thescope of the present disclosure.

The present disclosure describes several features of a personalizedmedia content user interface, also referred to as a personalized mediainterface or a personalized user interface herein. Media content assetsmay be recommended to users based on the users' past media consumptionpatterns and/or preferences in personalized media asset menus,personalized virtual channels, and/or personalized media guides. In sucha personalized user interface, the presentation of media contentrecommendations may be organized with attention to which device thecontent is presented on, the time of day, user profile, location, howmuch similar content has already been presented, etc. For example, if auser tends to watch more crime dramas on their big-screen television,and more children's shows on their tablet computer, then the systemherein may tailor recommendations for those devices accordingly (e.g.,recommending more crime dramas to the big-screen television viewer, andmore children's shows for the tablet viewer). Media content isrecommended upon reaching a high level of confidence that the user willbe interested in the recommended time at the time the recommendation ismade.

The personalized media interface may include customized menus or listsof media content of interest to a viewer of a device on which thepersonalized media interface is displayed. Past consumption history atthe device and/or the users associated with the device may be monitoredto tailor customized menus with content that will likely be of highinterest to users of the device on which the personalized mediainterface is displayed. Media consumption history may be monitored at adevice to track the type of content users of the device prefer to watchat specific times of day and/or the week. For example, the system maydetermine that users of a living room television prefer to watchcartoons in the afternoon and news programs in the evening. Personalizedmenus may be generated for media content related to attributes thatusers are mostly likely to find interesting. Personalized menus may befiltered and displayed in an order based on degree of user interest. Thepersonalized media interface may also actively prevent the display ofmedia assets and/or menus that are too similar to the ones that arealready displayed. For example, the system may have generated onerecommendation list of programs that are similar to a crime dramatelevision show that a user watched, and another recommendation list ofprograms that are similar to a crime drama theatrical movie that theuser watched, and the system may determine that the two lists are toosimilar to show both to the user. To more efficiently use the displayinterface, the system may choose to only display one of these twosimilar lists.

In addition to presenting media recommendations in personalized menus,the personalized media interface may also include media asset listingsin a customized schedule. Such a customized schedule may customizedisplay of personalized virtual channels to include media assets from aplurality of media sources based on a determination of what the userwill be interested in watching at the device that the media interface isdisplayed on. The user may further customize the media assets that aredisplayed in such dynamic personalized virtual channels. For example,the system may provide the user with a grid-based program guide orschedule, and one of the listed channels or services may actually be acollection of programs from various sources, such as traditionalscheduled programs from a plurality of sources (e.g., NBC, HBO, etc.),on-demand programs and programs on the user's digital video recorder(DVR). For example, the user's program guide may include a customizedlisting for an “action drama” channel, and the listing may schedule anevening's programming that includes “action drama” programs scheduledfor transmission or broadcast that evening (e.g., a 9 pm episode of“Game of Thrones” on HBO and a midnight broadcast of the movie “TrueLies” on NBC), together with playback of recorded programs from theuser's DVR for the time between the scheduled broadcasts of “Game ofThrones” and “True Lies.”

The personalized virtual channels in the user's media program guide mayalso be configured to allow a user to modify the arrangement of mediaasset listings displayed in the media guide. For example, the user maybe allowed to interact with the media guide grid to add, remove, and/orreplace media asset listings from virtual channels in the media guidegrid. The user may be allowed to select a media asset listing for aseries episode and enable an option to watch all available episodes ofthe show in succession, herein referred to as “binge watching.” Thepersonalized media guide may allow the user to catch up on a selectedprogram series. For example, when the user selects the “binge watch”option on a selected media asset listing in a virtual channel of theprogram guide grid, media asset listings for all available episodes of aprogram that the user has not watched may be listed in succession in aprogram guide and replace the previously assigned media asset listingsin the virtual channel.

The personalized media interface may also allow a user to search formedia assets. The search feature may be a predictive text or audiosearch that adds higher weight to media asset search results based onlocal airtime, freshness of media content, media contentrecommendations, and/or popularity of content amongst similar viewers.The predictive search feature may also initially prioritize mediasources above media assets in search results. For example, the systemmay dynamically run searches as the user inputs letters for a textsearch (e.g., as the user types in “Fox” the system runs a search for“F” after the first letter, then a search for “Fo” after the secondletter, then a search for “Fox” after the third letter, continuing on asthe user types more letters, each time displaying the list of searchresults). In those dynamic searches, the weighting given to possiblehits may be varied depending on the number of letters that the user hasentered for the search term. For example, for the first three lettersthat the user enters, media sources (e.g., “HBO,” “ESPN,” “FOX,” etc.)may be given a greater weight in the search, so in the example of asearch using the text string “Fox,” the television station “Fox SportsOne” and the movie “Fox and the Hound” may both satisfy the search for“Fox,” but the television station “Fox Sports One” would be weightedhigher because it's a television station, so in the search results the“Fox Sports One” television station would be listed before “Fox and theHound.” However, if the user keeps typing letters, and adds a spaceafter “Fox,” then the television station would not be weighted as muchin the next search, and the next search results may list “Fox and theHound” ahead of “Fox Sports One” as a result.

In some embodiments, the system may generate different mediarecommendations, different media schedule guide displays, differentmedia asset lists displays, and even different text search results fordifferent display devices. Multiple user accounts may be signed in ateach display device for each of the users consuming media content andbrowsing personalized media interface at each display device.Accordingly, each display device may generate media recommendations,media schedule guide displays, media asset lists displays, and/or textsearch results based on the composite preferences and composite usermedia consumption patterns and history of all of the users consumingcontent at that display device.

In some embodiments, the system may generate different mediarecommendations, different media schedule guide displays, differentmedia asset lists displays, and even different text search results fordifferent display devices having the same user account. Each userprofile may separately track user consumption history and maintain aseparate set of media preferences for each display device, even for thesame user account. For example, the system may maintain separate userconsumption history and preferences for a parent's tablet device thanhis bedroom television, and accordingly recommend different mediacontent to each of these devices.

In some embodiments, the personalized media interface may be generatedfor display at a mobile device to be used as a remote control foranother display device in communication with the mobile device. Forexample, the personalized media interface may be displayed on a father'ssmartphone to control what media assets are displayed on severaldifferent display devices that the smartphone is in communication with,such as a living room television, the parents' bedroom television, andthe father's personal tablet device. When the user activates thepersonalized media interface on his mobile device, the mobile device mayask which display device is going to be controlled by the mobile device.The personalized media interface generated for display at the mobiledevice will be customized to display media recommendations, mediaschedule guide displays, media asset lists displays, and even textsearch results customized based on the media consumption history andpreferences associated with the display device selected. Therefore,selecting to control the living room television will generate differentmedia recommendations, different media schedule guide displays,different media asset lists displays, and even different text searchresults on the personalized media interface displayed on the mobiledevice than if the father's bedroom television was selected to becontrolled on the mobile device.

FIG. 1 illustrates an example communication network 100 on which many ofthe various features described herein may be implemented. The network100 may be any type of information distribution network, such assatellite, telephone, cellular, wireless, etc. One example may be anoptical fiber network, a coaxial cable network, or a hybrid fiber/coaxdistribution network. Such networks 100 use a series of interconnectedcommunication links 101 (e.g., coaxial cables, optical fibers, wireless,etc.) to connect multiple premises 102 (e.g., businesses, homes,consumer dwellings, etc.) to a local office or a headend 103. The localoffice 103 may transmit downstream information signals onto the links101, and each premises 102 may have a receiver used to receive andprocess those signals.

There may be one link 101 originating from the local office 103, and itmay be split a number of times to distribute the signal to variouspremises 102 in the vicinity (which may be many miles) of the localoffice 103. The links 101 may include components not illustrated, suchas splitters, filters, amplifiers, etc. to help convey the signalclearly, but in general each split introduces a bit of signaldegradation. Portions of the links 101 may also be implemented withfiber-optic cable, while other portions may be implemented with coaxialcable, other lines, or wireless communication paths.

The local office 103 may include an interface 104, for example, atermination system (TS). More specifically, the interface 104 may be acable modem termination system (CMTS), which may be a computing deviceconfigured to manage communications between devices on the network oflinks 101 and backend devices such as computing devices 105-106 andapplication server 107 (to be discussed further below). The interface104 may be as specified in a standard, such as the Data Over CableService Interface Specification (DOCSIS) standard, published by CableTelevision Laboratories, Inc. (a.k.a. CableLabs), or it may be a similaror modified device instead. The interface 104 may be configured to placedata on one or more downstream frequencies to be received by modems atthe various premises 102, and to receive upstream communications fromthose modems on one or more upstream frequencies.

The local office 103 may also include one or more network interfaces108, which can permit the local office 103 to communicate with variousother external networks 109. These networks 109 may include, forexample, networks of Internet devices, telephone networks, cellulartelephone networks, fiber optic networks, local wireless networks (e.g.,WiMAX), satellite networks, and any other desired network, and thenetwork interface 108 may include the corresponding circuitry needed tocommunicate on the external networks 109, and to other devices on thenetwork such as a cellular telephone network and its corresponding cellphones.

As noted above, the local office 103 may include a variety of computingdevices 105-106 and application server 107 that may be configured toperform various functions. For example, the local office 103 may includea push notification computing device 105. The computing device 105 maygenerate push notifications to deliver data and/or commands to thevarious premises 102 in the network (or more specifically, to thedevices in the premises 102 that may be configured to detect suchnotifications). The local office 103 may also include a computing device106, which may be a content server. The computing device 106 may be oneor more computing devices that are configured to provide content tousers at their premises. This content may be, for example, video ondemand movies, television programs, songs, text listings, etc. Thecomputing device 106 may include software to validate user identitiesand entitlements, to locate and retrieve requested content, to encryptthe content, and/or to initiate delivery (e.g., streaming) of thecontent to the requesting user(s) and/or device(s). Indeed, any of thehardware elements described herein may be implemented as softwarerunning on a computing device.

The local office 103 may also include one or more application serverssuch as application server 107. The application server 107 may be acomputing device configured to offer any desired service, and may runvarious languages and operating systems (e.g., servlets and JSP pagesrunning on Tomcat/MySQL, OSX, BSD, Ubuntu, Redhat, HTMLS, JavaScript,AJAX and COMET). For example, an application server may be responsiblefor collecting television program listings information and generating adata download for electronic program guide listings. Another applicationserver may be responsible for monitoring user viewing habits andcollecting that information for use in selecting advertisements andproviding personalized media content recommendations in the personalizedmedia interface. Yet another application server may be responsible forformatting and inserting advertisements in a video stream beingtransmitted to the premises 102. Although shown separately, one ofordinary skill in the art will appreciate that computing devices 105,106, and/or the application server 107 may be combined. Further, herethe computing devices 105, 106, and the application server 107 are showngenerally, and it will be understood that they may each contain memorystoring computer executable instructions to cause a processor to performsteps described herein and/or memory for storing data.

An example premise 102 a, such as a home, may include an interface 120.The interface 120 can include any communication circuitry needed toallow a device to communicate on one or more links 101 with otherdevices in the network. For example, the interface 120 may include amodem 110, which may include transmitters and receivers used tocommunicate on the links 101 and with the local office 103. The modem110 may be, for example, a coaxial cable modem (for coaxial cable lines101), a fiber interface node (for fiber optic lines 101), twisted-pairtelephone modem, cellular telephone transceiver, satellite transceiver,local wi-fi router or access point, or any other desired modem device.Also, although only one modem is shown in FIG. 1, a plurality of modemsoperating in parallel may be implemented within the interface 120.Further, the interface 120 may include a gateway interface device 111.The modem 110 may be connected to, or be a part of, the gatewayinterface device 111. The gateway interface device 111 may be acomputing device that communicates with the modem(s) 110 to allow one ormore other devices in the premises 102 a, to communicate with the localoffice 103 and other devices beyond the local office 103. The gatewayinterface device 111 may be a set-top box (STB), digital video recorder(DVR), computer server, or any other desired computing device. Thegateway interface device 111 may also include (not shown) local networkinterfaces to provide communication signals to requestingentities/devices in the premises 102 a, such as display devices 112(e.g., televisions), additional STBs or DVRs 113, personal computers114, laptop computers 115, wireless devices 116 (e.g., wireless routers,wireless laptops, notebooks, tablets and netbooks, cordless phones(e.g., Digital Enhanced Cordless Telephone—DECT phones), mobile phones,mobile televisions, personal digital assistants (PDA), etc.), landlinephones 117 (e.g. Voice over Internet Protocol—VoIP phones), and anyother desired devices. Examples of the local network interfaces includeMultimedia Over Coax Alliance (MoCA) interfaces, Ethernet interfaces,universal serial bus (USB) interfaces, wireless interfaces (e.g., IEEE802.11, IEEE 802.15), analog twisted pair interfaces, Bluetoothinterfaces, and others.

FIG. 2 illustrates general elements that can be used to implement any ofthe various computing devices discussed herein. The computing device 200may include one or more processors 201, which may execute instructionsof a computer program to perform any of the features described herein.The instructions may be stored in any type of computer-readable mediumor memory, to configure the operation of the processor 201. For example,instructions may be stored in a read-only memory (ROM) 202, a randomaccess memory (RAM) 203, a removable media 204, such as a UniversalSerial Bus (USB) drive, compact disk (CD) or digital versatile disk(DVD), floppy disk drive, or any other desired storage medium.Instructions may also be stored in an attached (or internal) hard drive205. The computing device 200 may include one or more output devices,such as a display 206 (e.g., an external television), and may includeone or more output device controllers 207, such as a video processor.There may also be one or more user input devices 208, such as a remotecontrol, keyboard, mouse, touch screen, microphone, etc. The computingdevice 200 may also include one or more network interfaces, such as anetwork input/output (I/O) circuit 209 (e.g., a network card) tocommunicate with an external network 210. The network I/O circuit 209may be a wired interface, wireless interface, or a combination of thetwo. In some embodiments, the network I/O circuit 209 may include amodem (e.g., a cable modem), and the external network 210 may includethe communication links 101 discussed above, the external network 109,an in-home network, a provider's wireless, coaxial, fiber, or hybridfiber/coaxial distribution system (e.g., a DOCSIS network), or any otherdesired network.

In some embodiments, the personalized media interface may be generatedfor display by processor 201 at the computing device 200, which maycorrespond to a device local to a user, such as set-box 113 asreferenced in FIG. 1. In other embodiments, the personalized mediainterface may be generated at an application server 107 at a headend 103as referenced in FIG. 1. In other embodiments, portions of thepersonalized media interface may be generated at both an applicationserver 107 at headend 103 and for display by processor 201 of thecomputing device 200.

The personalized media interface may be displayed at display 206. Theprocessor 201 may instruct device controller 207 to generate such adisplay at display 206. The processor 201 may receive user input to thepersonalized media interface from input device 208. The processor 201may process the user input and implement subsequent features of thepersonalized media guide to such received user input. The processor 201may store user media consumption history, media preferences, and/or userprofile information in a memory unit such as ROM 202, RAM 203, or harddrive 205. The processor 201 may additionally identify any media contentstored on hard drive 205 or removable media 204 and incorporate suchlocally stored media content into the personalized media guide. If suchlocally stored media content is requested for playback through thepersonalized media interface, the processor 201 may retrieve suchlocally stored media content from the removable media 204 or the harddrive 205 and display the locally stored media content on the display206.

Additionally, the device may include a location-detecting device, suchas a global positioning system (GPS) microprocessor 211, which can beconfigured to receive and process global positioning signals anddetermine, with possible assistance from an external server and antenna,a geographic position of the device. The GPS microprocessor 211 maytransmit the determined location of the user of computing device 200 toprocessor 201. The processor 201 may then use the determined location tofurther tailor the personalization of the media interface. For example,the processor 201 may identify users in the same location as the user ofcomputing device 200 that have similar tastes as the user of thecomputing device 200 based on viewer consumption history data obtainedfrom an application server 107. The processor 201 may generate contentrecommendations for the personalized media interface displayed atdisplay 206 based on the preferences of the identified similar users.

The FIG. 2 example is a hardware configuration, although the illustratedcomponents may be implemented as software as well. Modifications may bemade to add, remove, combine, divide, etc. components of the computingdevice 200 as desired. Additionally, the components illustrated may beimplemented using basic computing devices and components, and the samecomponents (e.g., the processor 201, the ROM storage 202, the display206, etc.) may be used to implement any of the other computing devicesand components described herein. For example, the various componentsherein may be implemented using computing devices having components suchas a processor executing computer-executable instructions stored on acomputer-readable medium, as illustrated in FIG. 2. Some or all of theentities described herein may be software based, and may co-exist in acommon physical platform (e.g., a requesting entity can be a separatesoftware process and program from a dependent entity, both of which maybe executed as software on a common computing device).

One or more aspects of the disclosure may be embodied in acomputer-usable data and/or computer-executable instructions, such as inone or more program modules, executed by one or more computers or otherdevices. Generally, program modules include routines, programs, objects,components, data structures, etc. that perform particular tasks orimplement particular abstract data types when executed by a processor ina computer or other data processing device. The computer executableinstructions may be stored on one or more computer readable media suchas a hard disk, optical disk, removable storage media, solid statememory, RAM, etc. As will be appreciated by one of skill in the art, thefunctionality of the program modules may be combined or distributed asdesired in various embodiments. In addition, the functionality may beembodied in whole or in part in firmware or hardware equivalents such asintegrated circuits, field programmable gate arrays (FPGA), and thelike. Particular data structures may be used to more effectivelyimplement one or more aspects of the disclosure, and such datastructures are contemplated within the scope of computer executableinstructions and computer-usable data described herein. The variouscomputing devices, servers and hardware described herein may beimplemented using software running on another computing device.

FIG. 3A illustrates a screenshot of a personalized media interface 300displaying a personalized menu. The personalized media interface 300 maydisplayed as the initial screen on a display device, such as display 206of FIG. 2, once a user input is issued to initiate display of apersonalized media interface. Alternatively or additionally, display ofthe personalized media interface 300 may be triggered by a user optionto view personalized content menus. The personalized media interface 300may include several different menus, several or each of which may becustomized to include media assets that are determined to be of highuser interest based on the monitored media consumption at the displaydevice.

The personalized media interface 300 may include a menu selection panel302 that lists different recommendation menu options 322, 324, 326, 328,and 330. Each recommendation menu option may include a page of differentcategories of menus determined to have a similar theme. For example,recommendation menu option 322 may correspond to a page of personalizedmedia asset menus. The recommendation menu option 324 may correspond toa page of media asset menus containing movie menus. The recommendationmenu option 326 may correspond to a page of media asset menus containingtelevision show menus. The recommendation menu option 328 may correspondto a page of media asset menus containing children's programming menus.The recommendation menu option 330 may correspond to a page of mediaasset menus containing sports programming menus.

In the example of the personalized media interface 300, the “For You”recommendation menu option 322 may be selected and accordingly,personalized menus 304, 306, and 308 may be displayed in thepersonalized media interface 300. Personalized menus may be generatedbased on the user's interests. Content consumption patterns (i.e.,content preferences, recently consumed media content, etc.) at computingdevice 200 may be monitored and the personalized media interface 300 maybe tailored to display personalized menus determined to be of interestto the user(s) of device 200. Each personalized menu may containmultiple media asset listings for media assets that share or more commonattribute (i.e., genre, tone, theme, actor, rating, etc.). For example,menu 304 is a personalized menu containing media assets 312, 314, 316,318, and 320 related to cooking television shows. Menu 306 is apersonalized menu containing listings for suspense and/or thrillermovies with a tense tone. Menu 308 may contain media asset listings fortelevision shows with a genre of action and/or a theme of superheroes.Accordingly, a computing device may generate menu 304 by including mediaassets that include a tag indicating that the assets are cookingtelevision shows, the common attribute. The computing device 304 mayfurther account for a specific user's media consumption preferences andmedia consumption patterns by selecting media assets corresponding tothe common attribute for a given menu that are determined to be of highuser interest. For example, the computing device may generate thecooking television menu 304 by populating it with cooking televisionshows that the computing device determines the user would be mostinterested in over other cooking television shows. When the decision ismade by the computing device to display menu 304 based on the user'snavigation of the media guide, the preassembled menu 304 is displayed tothe user.

In some embodiments, several different menus may be generated for acommon attribute. For example different menus for cooking televisionshows may be generated, with different combinations of cookingtelevision shows. The cooking television show menu that is displayed tothe user at a given device may be displayed based on the mediapreferences of the device's user and the monitored user consumptionhistory at the given device. Consumption data from each display deviceis analyzed to determine which one of the cooking television show menusis to be displayed at the given display device.

The media asset menus displayed in personalized media interface 300 maybe preassembled with media content listings that the user(s) at thedevice will be interested in before the user requests to view apersonalized menu page. Upon monitoring the media preferences and mediaconsumption history of users(s) at a media device, menus or media assetlists having menu categories that correspond to search queries that theuser(s) are most likely to input into the media interface of that givendevice may be identified for display at the media device. The menucategories that are identified by predicting user search queries may bedevice specific. For example, the computing device may identify morefamily based programming menu categories for a living room televisionthan it would for a parents' bedroom television or a father's personaltablet device. The computing device may monitor that more family basedmovies are viewed on and searched for in the living room television.Accordingly, the computing device may identify different family moviebased menu categories for the living room television and retrieve mediaasset lists for such identified programming for display at the livingroom television.

In some embodiments, the media asset lists may be generated for specificmedia devices based on the monitored consumption history at such mediadevices. For example, the computing device may identify that the userconsumes several humorous children's movies about animals at the livingroom television and accordingly may generate media asset lists having acategory with a composite attribute of humorous children's movies aboutanimals. However, the computing device may also determine that the sameuser consumes crime drama television shows at his bedroom television andnot at the living room television and accordingly may generate mediaasset lists having the menu category of crime drama television shows fordisplay only at the bedroom television and not at the living roomtelevision.

Some media asset lists may only require media assets to be associatedwith one attribute for inclusion into these lists while certain otherlists require media assets to match two or more different attributes tobe included into these certain other lists. For example, certain mediaasset lists may have a menu category having a single media attributesuch as the menu category titled “More From Brad Pitt.” Other mediaasset lists may have a menu category with multiple media attribute suchas the menu category titled “Humorous Children's Movies about Animals.”Media assets may be determined to be a match with a certain attributerelated to the predetermined search query if the media asset includes atag or metadata identifier for that particular attribute. Media assettags may be searched to find media assets matching all of the mediaattributes in the identified menu category.

In some embodiments, media asset lists may be populated with mediaassets that were already being recommended to the user. Media assetsbeing recommended to a user at one device may be recommended to the userat a different device in a different media asset list. Media contentmatching the attributes identified by the predetermined search queriesmay be further filtered based on media consumption history at a userdevice to populate media asset lists with media assets determined to beof interest to the viewers of the device on which the personalized mediainterface is displayed. Media assets may be assigned a score based onthe users' media browsing and/or consumption history (i.e., same genre,tone, actor, rating etc.). For example, user consumption of media assetsmay be monitored to determine the type of media content that the userhas a preference for at a given device. There may be an additional levelof media consumption granularity by tracking the type of media contentthat the user has a preference for during a certain time of day andweek. Media assets that are consumed by the user and/or the media assetsrelated to such consumed assets may be assigned a score based on thenumber of times a user has consumed and browsed for the particular mediaasset and/or its related assets. Such scores may be stored as metadataassociated with each particular media asset. Such user consumption scoremetadata may be continuously updated as the user consumes more content.Alternatively or additionally, user consumption scores related to mediaassets may be stored in a separate database from the media asset. Amedia asset list may select media assets for inclusion only if theconsumption scores associated with the media asset exceed a minimumthreshold value to ensure user interest in the media asset list.

In some embodiments, media recommendations may be generated by weightingrecent consumption history at a given device more heavily than userpreferences and media consumption history from a more distant past. Thecomputing device may identify menus having menu categories correspondingto the types of content that the user has been watching more recently atthe user device. For example, the system may determine that the user hasbeen more interested in watching more television shows for teens abouthigh school than children's cartoon television shows at the living roomtelevision. Accordingly, the system may populate the living roomtelevision display with more menus related to television shows for teensabout high school than children's cartoon television shows. Byconsistently monitoring the user consumption and weighting recentconsumption more heavily than past consumption trends, the system mayprovide recommendations that the user would be more interested inviewing.

Media content recommendations for a particular user, used either inpopulating a media asset list with media assets or for other purposes,may factor in popularity of content among other users that aredetermined to have similar media preferences as the particular user.Users with similar media preferences as a particular user may beidentified by a server, such as the application server 107 of FIG. 1, bymonitoring user media consumption and/or browsing histories of severalindividual subscribers. By identifying which media content thatparticular users like and dislike, whether the users like certain mediacontent at the same times of day or week, whether the users prefer towatch certain types of media content on a certain device, a computingdevice may identify which users have similar media preferences andtastes as other users on a per device basis. Once users with similarmedia preferences are identified, a computing device may identify mediacontent that is popular and/or of high interest to users with similarmedia preferences as a particular user and the identified media contentmay be recommended to the particular user. In another embodiment, mediacontent identified as being popular and of high interest to similarusers may be assigned a high recommendation weight. Such arecommendation weight may be paired with the user consumption and/orbrowsing history score for a particular user at a given device togenerate a complete recommendation value for the given device. Mediaassets with the highest recommendation value may be recommended toindividual particular users at the given device. This manner of pairinguser consumption scores of users with the consumption scores of similarusers may allow for media content recommendations to factor in the mediapreferences of similar users while still ensuring that such contentrecommendations would be of interest to the user that recommendationsare being provided to at the given device. Factoring in content that ispopular with other users into the recommendation for a given user mayallow the given user to be recommended content that the given user maylike to view at the given device but would not have otherwisediscovered.

In some embodiments, media content recommendations may be generated bylocating media from a variety of different media sources and mediaservices. Media content that is recommended to a user may be retrievedfrom a plurality of sources and services such as streaming musicservices, streaming video services, Internet on demand media services,television networks, video on demand, a user's digital video recorder(DVR) or other local storage, online radio stations, and/or digitalmedia stores. Each of these services and media sources maintains its owntags and/or metadata for media content. Media content tags from each ofthese sources and services may be collected and compared by a headendserver such as the application server 107 or a local user device such asthe set top box 113 of FIG. 1. Similar media content tags from theplurality of services and sources may be analyzed and grouped toidentify content that have similar tags and create a list of similarmedia content across a plurality of different services and mediasources. For example, tags identifying action movies about superheroesmay be grouped from a plurality of sources and services so thatsuperhero action movie media content from a plurality of differentsources may be identified in a given list. The media content identifiedfor a particular attribute or composite attribute from the plurality ofsources and services may be further narrowed down based on userconsumption. By monitoring user viewing history of media that isactually being consumed and by identifying how many users view commonitems on the list of similar media content, the list of similar mediacontent may be filtered to identify popular content for a particularattribute or a composite attribute. Media content that is determined tobe popular to a given user at a particular device and other users may berecommended to the given user at the given device. For example,superhero action movies that are determined to be of interest to thegiven user for a teenage child's bedroom television and users withsimilar media tastes as the given user, may be recommended at theteenage child's bedroom television. Grouping media content tags from aplurality of sources and services according to a parameter or attributeallows for a full list of available content to be generated and thenrefining that list based on user consumption history and preferencesallows for content recommendations to be formed from a comprehensiveamount of media sources that a user will actually be interested in.Media content tags may be collected from a plurality of sources, groupedby similar attributes, and narrowed based on user consumption patterns.Upon narrowing of the list of correlated media content tags, the mediacontent associated with the correlated media tags is identified andrecommended to a user.

In some embodiments, media asset lists for a variety of menu categoriescorresponding to different combinations of media attributes may begenerated before a system recommends such media asset lists for displayat any particular user device. For example, the computing device mayautomatically generate new media asset lists for unique menu categoriesthat have not already been generated. As new media content is available,new media asset lists may be generated using preexisting media assetsand the newly available media assets. Metadata from the newly availablecontent may be examined by a computing device to identify one or morecommon attribute shared between the newly available content and/orpreexisting content. The computing device may generate new menucategories using different combinations of the identified one or morecommon attributes. The computing device may take into account what mediacontent is popular amongst a plurality of viewers by examining mediaconsumption history and media preference data for a plurality ofdifferent viewers in generating new menu categories. For example, as newepisodes of fantasy television shows such as “True Blood” and “BeingHuman” are available, the computing device may determine that theseprograms are popular with several users and accordingly generate a mediaasset list with the category “Dark Drama Television Shows about Vampires& Werewolves.” The computing device may include preexisting episodes fortelevision shows that match such a menu category such as “Buffy theVampire Slayer” and/or “Lost Girl.” New menus comprising old and newlyavailable content may be generated continuously, periodically, or as newcontent becomes available.

In some embodiments, media menus that share a strong similarity to eachother may be prevented from being displayed together on a personalizedmedia interface 300, so that the limited amount of screen real estate isdevoted to a variety of menus having different offerings. Menus withmedia attributes that share a strong similarity and menus that contain asignificantly high number of the same media assets as each other may beprevented from being displayed on media interface 300. As media menus ormedia asset lists are generated, media asset lists having at least onecommon attribute or at least one common related attribute as other mediaasset lists may be compared with each other. Similarity between aplurality of media asset lists may be determined if the media assetlists contain a number of media assets that is determined to be above apreset threshold number of media assets set as the benchmark todetermine similarity amongst media asset lists. For example, if twolists have 50% overlap in the content they list, then the two lists maybe deemed too similar. Media asset lists that are determined to be verysimilar to each may be grouped into clusters. The personalized mediainterface 300 may select which media asset list is selected for displayfrom each cluster of similar media asset lists. For example, thepersonalized media interface may determine which media asset lists fromthe cluster contains media assets that a viewer would be most likely toview. For example, a first media asset list that contains more crimedrama television shows may be selected over a second media asset listthat contains more crime drama movies if the user prefers to watchtelevision shows or if the crime broadcast television shows in the firstlist are scheduled to be broadcast at a time during which the userprefers to watch crime drama television shows. In some otherembodiments, a user may manually select which media asset list of thecluster is selected for display at the personalized media interface 300as the representative media asset list of each cluster of similar mediaasset lists. Alternatively or additionally, an administrator with accessto remote servers, such as an application server 107, from which mediamenus may be downloaded to a user device may select which media assetlists are selected for display at personalized media interfaces of userdevices in communication with the remote servers.

Media asset lists or menus may be created with a plurality of attributesto create very personalized and specific menus. Often a plurality ofcombinations of tones, themes, actors and genres may be used to createone specific personalized menu that is determined to be of interest touser(s) at a media device. Once menus are narrowed by choosing arepresentative menu to be displayed in the personalized media interface300 from a cluster of similar menus, the personalized media interface300 may be curated to show unique but highly specialized menus, eachhaving a plurality of attributes but different media asset content fromone another. The computing device may determine how many differentpersonalized media asset lists to display at a particular user device byanalyzing the media consumption at that device. The number ofpersonalized media asset lists displayed at the personalized mediainterface 300 of each display device may differ from device to device.The computing device may determine the number of media asset lists bymonitoring the variety of content that the user(s) of each display watchand by determining the minimum number of media asset lists required toaccurately capture different combinations of unique media asset listshaving different content from each other that span the variety ofdifferent media content that the user may be interested in viewing. Forexample, if the computing device determines that the user(s) only viewsreruns of Friends and/or Seinfeld in the living room television, thenthe computing device may display a small number of media asset lists(e.g., three lists) in the personalized media interface 300 upondetermining that no more than three lists are needed to capturerecommendations for Friends and Seinfeld episodes. The computing devicemay further determine that any more than three lists for Friends andSeinfeld episodes generates too much overlap in media content in themedia asset lists and decided that three lists are enough to capture allthat the user will be interested in watching. However, for a differentmedia device such as the bedroom television, the computing device maydetermine that the user watches news programs, science fiction movies,reality television shows, comedy movies, and/or documentaries.Accordingly, the computing device may determine that a higher number ofmedia asset lists (e.g., fifteen lists) are required to accuratelycapture the variety of content that the user may be interested inviewing at the bedroom television. The computing device may analyzeattributes of media assets watched at a particular device (i.e., genre,theme, media series, actor, tone, subject matter, etc.) and thefrequency with which media assets associated with such attributes arewatched at a particular user device to determine the amount of mediaasset lists and which media asset lists to display at the personalizedmedia interface of such a user device.

In some embodiments, the personalized media interface 300 displays menusin a ranked order. Menus that are determined to be of the highestinterest to user(s) associated with the device on which the personalizedmedia interface 300 is displayed, may be displayed higher on thepersonalized media interface 300 than menus deemed to be of lower userinterest. User interest in a media asset menu may be measured as afunction of media consumption histories, user media preferences, time ofday, and/or user location. In order to determine which menus to displayon personalized media interface 300, the narrowed set of menus may beranked in order of amount of interest to viewer(s) of the device atwhich the personalized media interface 300 is displayed. Media assetlists may be assigned a composite score using the individual consumptionand/or browsing history scores of each of the media asset lists' mediaassets. Once each media asset list is assigned such a media asset listscore, media asset lists with the highest score may be selected forinclusion in the personalized media interface 300. Additional factorssuch as the time of day, date, and/or user location may also factored incalculating a media asset list score. Such a media asset list score maydynamically change. For example, Christmas-related programming may beassigned a higher score in December than in other months. Media assetlists containing local area programming may be assigned a higher scoreonce the user device on which the media interface is displayed isdetermined to be in the region corresponding to the local areaprogramming. Similarly, media asset lists containing programmingassociated with a certain part of the day may be assigned a higher scoreand ranking during that certain part of the day. Once media asset listshave been assigned a score, media asset lists with the highest score maybe displayed on the personalized media interface 300. In someembodiments, personalized media interface 300 may have a preset upperlimit on the number of media asset lists that are displayed.Accordingly, the highest ranking preset number of media asset lists maybe selected for display. The media asset lists may also be arranged fordisplay in personalized media interface 300 in descending order of mediaasset lists scores.

In some embodiments, media assets within a media asset list may also bearranged in an ordered fashion. In some implementations, media assetsmay be arranged within the media asset list in a descending order withrespect to their media consumption and/or browsing history score. Inother implementations, media assets may be arranged within a list basedon other factors such as the number of times the media asset has beenconsumed by the users(s) of a given device on which the personalizedmedia interface 300 is displayed, the local airtime of the media asset,time of day, and/or date. Media assets may be rearranged within mediaasset lists continuously or periodically as user consumption patternsare updated.

Different personalized menus may be displayed for the same user accountat different devices and for different times of day. For example, a settop box associated with a living room television may display menusrecommended for children during the day and for parents during the nightbased on previous media asset consumption patterns for the living roomtelevision. Different personalized menus for the same user account mayalso be displayed on different devices. For example, the set top box forthe living room television logged in with the father's account maydisplay family based programming menus whereas a personal tablet devicelogged in with the same father's account may display menus personalizedfor the father geared towards more adult themed content.

Once a media asset listing in a menu displayed on the personalized mediainterface 300 is selected, a recommendation list for additionalprogramming related to the selected media asset may be displayed in thepersonalized media interface 300 as shown in FIG. 3B. In the exampleshown in FIG. 3B, media asset 310, Kitchen Nightmares, is selected.Accordingly, a recommendation menu 342 may be displayed with mediaassets determined to be similar to media asset listing 310. Therecommendation menu 342 may also be a recommendation list. Therecommendation menu 342 may be populated with media assets 344, 346,348, 350, and 352, each of which may be determined to share some mediaattributes with selected media asset listing 310. For example, mediaassets 344, 346, and 348 are reality television shows about cookingstarring chef and television personality, Gordon Ramsay, just likeselected media asset listing 310. The media asset 350 may also relatedto selected media asset listing 310 since it is a reality televisionshow starring Gordon Ramsey and media asset 352 is related media assetlisting 310 since it is a reality cooking television show. As evidencedfrom the example scenario depicted in FIG. 3B, the recommendation menu342 may include media assets arranged based on the degree of relatednessto selected media asset listing 310. For example, media asset listings344, 346, and 348 may share at least three common attributes as selectedmedia asset listing 310: genre (reality television show), theme(cooking), and actor (Gordon Ramsay) whereas media asset listings 350and 352, which share two of those three attributes as the selected mediaasset listing 310. Therefore media asset listings 330 and 332 may bearranged after media asset listings 344, 346, and 348 in therecommendation menu 342.

Recommendation lists for media assets similar to a selected asset from amedia menu may be based on content based attribute tags found in themetadata or tags associated with a particular media asset. For example,the recommendation may be made for a media content that has either oneor more of genre, tones, theme, actor, director, parental guidancerating etc. as the selected media asset listing. Recommendation listsfor media assets may also be based on usage by collecting userconsumption history at a particular device and identifying what otherusers who have similar preferences and consumption histories as the userlike. In some embodiments, such usage based history may be given lessweight than metadata based content attribute based recommendation.Recommendation lists for media assets may also be made if an editor,such as the media provider, has explicitly provided a set of relatedassets for the media asset that the user has selected. In someembodiments, such editorial recommendations may be given the most weightsince the recommendation has been made by a person or by the mediaprovider.

FIG. 4 illustrates different combinations of attributes used to generatepredetermined search queries based on which personalized menus (forexample, menus 304, 306, and 308 of FIG. 3A) are created. FIG. 4 showsdifferent configurations of attribute combinations that may be used togenerate different personalized menus, which may be categorized byaudience type (i.e., TV show watchers, movie watchers, kids, and musiclovers). Each attribute combination category may be populated withdifferent genres, tones, actors, and/or premium channels etc. to createseveral different personalized menus. Such menus may be created based onthe attributes that are identified to be of most interest to users(s) ofa particular device displaying personalized media interface 300 of FIG.3A, and may be generated by the system herein before the user actuallyrequests to see any list of recommendations. Such attributes may beidentified based on consumption patterns, browsing histories, andseveral other factors used in making recommendations as discussed abovewith relation to FIG. 3A. Once the appropriate menu attributecombination is selected, menus may be populated with media assets thatcontain tags that match all of the requirements of the menu attributecombination. Furthermore, the selection of media assets that match suchattribute combinations may be narrowed based on a user interest in themedia asset as determined from the user consumption score associatedwith each media asset. This process allows for generation of menus thatare specific and personalized based on the user(s)'s tastes.

Different menu attribute combinations may be selected for differenttypes of users in order to generate personalized menus. For example, ifthe user is detected to prefer television shows, more menus would begenerated using menu attribute combination templates 402, 404, 406, 408,410, 412, and 414 than any other menu attribute combination category.Different menu categories can be generated by using menu attributecombination templates as shown in FIG. 4 along with specific mediaattributes (i.e., genre, tone, theme, rating, actor, artist, channelname, preferred show names etc.). For example, attribute combinationtemplate 414 may be used to create menus populated with television showsfrom a specific genre and tone determined to be of interest to the userabout a particular theme also determined to be of interest to the user.The computing device may identify which genres, tones, and/or themes theuser is interested in the most based on media consumption history at agiven device. Upon performing such identification, the computing devicemay create different combinations of menu categories using menuattribute combination template 414 and the identified genres, tones,and/or themes identified to create different media asset lists. As shownin FIG. 4, the menu attribute combination templates 401-407 may be usedto generate menu categories for television shows. The menu attributecombination templates 408-415 may be used to generate menu categoriesfor movies. The menu attribute combination templates 416-424 may be usedto generate menu categories for children's programming. The menuattribute combination templates 425-428 may be used to generate menucategories for music. Several other combinations of attributes besidesthose shown in FIG. 4 may also be used to generate menus for display ina personalized media interface.

FIG. 5A illustrates a personalized media schedule screen 500 thatdisplays media asset listings to the user on a media interface. Such apersonalized media schedule screen can be displayed on any type of userdisplay device on which a personalized media interface is displayed. Thepersonalized media schedule screen 500 may display media asset listingsin a grid-like display format as shown in FIGS. 5A-C by arranging themedia assets listings by media provider and by a time during which themedia asset is scheduled to be multicast (a grid is shown as an example,but any desired format of displaying a schedule may be used). Mediaasset listings may be arranged by time at which the media assetcorresponding to the media asset listings are scheduled to be displayedand by channels on which the media asset listing may be provided. In theexample of FIG. 5A, each row of the media schedule screen 500 maycomprise a channel. Channels 506, row 508, and row 510 may be identifiedby channel identifiers 514, 516, 518. For multicast media channels suchas channel 508, the channel identifiers may identify the multicast mediaprovider. For virtual channels such as channel 506, the channelidentifiers may identify the criteria based on which the media assetlistings in the virtual channel are displayed. For example, the channelidentifier 514 may identify that the media asset listings in channel 506are listings for media assets recommended for the user, David. Thecolumn 502 of channel identifiers may identify all of the channelsincluding on demand channel such as channel 510. The media schedulescreen 500 may include row 504 of time labels such as time label 512 toindicate when a media asset corresponding to the media asset listing inthe grid-like media schedule is scheduled to be made available to theuser.

Media asset listings for multicast media assets may be displayed indifferent channels from on-demand media assets. Media asset listingssuch as media asset listing 548 for multicast media assets may bedisplayed in rows dedicated to the multicast media source such as row508 for the American Movie Classics (AMC) television channel, identifiedby channel identifier 516. Media asset listings such as media assetlistings 550, 552, 554 for on-demand media assets may be displayed inrows dedicated to on-demand channels such as row 510 for an on-demandchannel, identified by channel identifier 518. Since on-demand mediaasset listings are available to the user at any time unlike multicastmedia asset listings, the computing device may arrange the display ofthe on-demand media asset listings in the grid format based on userconsumption patterns. For example, upon determining that a user likes towatch sitcoms at 6 PM from the user's consumption history, the computingdevice may include a media asset listing 552 for a comedy sitcom, suchas “Friends,” at 6 PM in on-demand media asset listing row 510.

The computing device may also generate the display of personalizedvirtual channels in the media schedule screen 500. A personalizedvirtual channel is illustrated as channel 506 and identified by channelidentifier 514 as David's (the user's) channel. Personalized virtualchannel 506 may include media asset listings 540, 542, and 544 which aresourced from available sources such as multicast media channels andon-demand channels. For example, media asset listings 540, 542, and 544correspond to media asset listings 548, 552, and 546, respectively,which are originally made available from multicast media channels andvideo on-demand channels.

The media schedule screen 500 may include filtering buttons 520, 522,524, 526, and 528 that, when activated, only display or display in ahighlighted manner, the media asset listings corresponding to the filtercriteria of the filtering button activated. For example, filter button522 for high definition content, when activated, may activate ahighlighted display of media asset listings for media assets availablein high definition format. Media asset listings for standard definitionmedia content may be displayed in a faded format or may be removed frommedia schedule screen 500 upon activation of filter button 522. Themedia schedule screen 500 may include search panel 530, in which theuser may enter text characters to search for media content.

The computing device may personalize the media schedule screen 500 torank the user's favorite media sources or channels as identified fromthe user's preferences or media consumption history. The computingdevice may generate a display of the media schedule screen 500 such thatrows corresponding to user favorite media channels may be displayedhigher in the media schedule screen 500 than rows for other channels.Similarly, the computing device may display personalized virtual channelrows such as channel 506 at the top of the media schedule screen 500.The personalized virtual channel row 506 may be populated with mediaasset listings identified to be of interest to the user from variousdifferent multicast media channels, video on-demand sources, the user'sown library of DVR recordings, or any other desired source of content.In some embodiments, media asset listings displayed in the personalizedvirtual channel row 506 may be displayed by the computing device at thesame time slot at which they were originally supposed to be madeavailable at the channel that they are sourced from. For example, the 5pm scheduled airing of “Breaking Bad” may be listed at the 5 pm slot inthe user's virtual channel. In another embodiment, the computing devicemay display the virtual channel contents in a customized order, in whichscheduled content is listed at a different time from its originallyscheduled time. The computing device may rearrange scheduled content tofit the user's own desired schedule (e.g., the preference for viewingcomedy at 5 pm). To support this rearranging, the computing device mayrecord a media asset listing for multicast media content in a digitalvideo recorder and may display the media asset listing at a later timeslot if such multicast media content has been determined to be includedin the personalized virtual channel.

In order to include media content listings in the personalized virtualchannel, the computing device may determine which media content the userwould be most interested in viewing for each time slot. Such adetermination may be made by monitoring user consumption habits. If theuser(s) at a particular device watch sitcoms at 6 PM, a sitcom that theuser is most likely to be interested in is included in the personalizedvirtual channel 506 at that time.

In some embodiments, media content may be selected for inclusion into avirtual channel based on content freshness. For example, even if theuser likes to watch sitcoms at 6 PM and Friends is the user's favoritesitcom, the system may include a different sitcom that the user alsolikes if the user has watched several episodes of Friends within arecent time frame, because the other sitcom that the user has notrecently watched is considered fresher. The system determines the recenttime frame and the tradeoff between displaying another episode of theuser's favorite sitcom and another media content that the user has notviewed recently is made by monitoring the user's consumption history andby understanding the viewing habits and patterns of the user. If thecomputing device determines that there are a plurality of multicastmedia assets that the user would be most interested in but which arescheduled to be multicast at the same time, the computing device maygenerate a media asset listing for the first media asset for display inthe virtual channel and may instruct recording of the other multicastmedia assets in a DVR for inclusion in the personalized virtual channelat a later time slot. The user may be allowed to select which one ofthese multiple multicast media assets is to be selected for inclusion inthe virtual channel at the original time of multicast and which mediaassets are to be recorded in the DVR for inclusion at a later time slotin the virtual channel. If two media content assets are multicast at thesame time and based on user consumption habits it is determined that theuser typically watches one media asset after the other, the computingdevice may record the media asset not included at the virtual channelduring its original multicast time and include the recorded media assetin the next available virtual channel time slot. The system may alsoprompt the user to provide one or more criteria weights that may be usedto determine which programs take priority in case of conflict (e.g., auser may indicate a “strong” liking of one sitcom series, and a “medium”liking of another; or the user may indicate that a “fresh” program isonly fresh if the user has not watched an episode in 2 weeks).

Media content is determined for inclusion at a particular time slot fromseveral different media sources. Once the media content that the user isdetermined to be the most interested in has been included in thepersonalized virtual channel, empty virtual channel time slots in whichno media content has been included from the first pass of includingmedia content determined to be of the highest level of interest to theuser. Once such empty time slots are identified, on-demand media contentdetermined to be of interest to the user may be selected from videoon-demand channels to be scheduled at the empty time slots. Prerecordedmedia content determined to be of interest to the user from the user'sDVR or local media storage may be selected for inclusion in thepersonalized virtual channel in the empty time slot. Content listingsfor these media content items determined to be of interest to the usermay be generated at these empty time slots.

In some embodiments, media content items determined to be of interest tothe user may be scheduled in the empty time slots based on a consumptionhistory of the user. For example, the media asset listing 540 for a“Breaking Bad” episode may be scheduled at the 5 PM timeslot of thechannel 506 by determining that, of all the media content available forscheduling in the 5 PM timeslot, the “Breaking Bad” episode would be themedia content item that the user would be most interested in watchingduring the 5 PM timeslot. Such a determination may be made byidentifying that the user typically watches a “Breaking Bad” episode atthis time or watches media content with a similar genre, actor, theme,and/or rating. Such a determination is made by examining the consumptionhistory of the user.

In some embodiments, the media content items that are scheduled in theempty time slots of the media schedule screen 500 may be identified byexamining device specific consumption history of a user. For example,the user may have a user account that is associated with multiple userdevices on which the user consumes media content. The media schedulescreens displayed on these different user devices may recommenddifferent media content items. For example, the media content itemsidentified to populate the empty timeslots may be selected based onmonitoring the consumption history of the user at that given userdevice. If it is determined that the user watches family oriented mediacontent on the living room television, then the media schedule screen500 associated with the living room television may have family friendlymedia items scheduled in the empty timeslots of different channels.However, if it is determined that the user watches adult content on themaster bedroom television, then the media schedule screen 500 associatedwith the master bedroom television may have adult themed media itemsscheduled in the empty timeslots of different channels.

In some embodiments, the media content items that are scheduled in theempty time slots of the media schedule screen 500 may be prior episodesof a media content item listed in the media schedule screen 500. A userinput may be received to view successive episodes of a recurring seriesof episodes corresponding to a content item listed in the consumptionschedule such as the media asset listing 540 for a “Breaking Bad”episode. One or more unwatched episodes of the “Breaking Bad” serieswhich precede the episode identified by the media asset listing 540 maybe identified. These unwatched episodes may be scheduled for consumptionin the media schedule in timeslots preceding the timeslot of media assetlisting 540.

In some embodiments, the media content items that are scheduled in theempty time slots of the media schedule screen 500 may be identified byperforming a media search. A plurality of characters of an input searchstring for the media search may be received. A relative weighting may bedetermined between media providers and media assets for the media searchbased on a determination of whether a character count of the pluralityof characters exceeds a predetermined number. The media search may beconducted such that the media providers and media assets are weightedbased on the relative weighting of the media providers with respect tothe media assets. In response to a determination that a number ofcharacters in the input search string is less than a predeterminednumber of characters, the search results for the media providers may beordered for display before search results for the media assets. Suchmedia content search is discussed in greater detail below with respectto FIGS. 7A and 7B.

FIG. 5B illustrates that a media asset listing (the 5 pm “Breaking Bad”episode) is selected in the personalized virtual channel row 506. Oncemedia asset listing 540 is selected, media asset listing 540 ishighlighted and information panel 560 with options and informationrelated to the selected media asset listing 540 may be displayed as anoverlay over other media asset listings displayed in media schedulescreen 500. Information panel 560 may include the name of the episodeand/or additional information such as rating, runtime, parental guidancerating etc. for the media asset associated with the selected media assetlisting. The information panel 560 may also include feedback buttons 562and 564 for the user to input his feedback for whether he likes therecommended media asset corresponded to the selected media assetlisting. If the user selects the thumbs up feedback button 562, theselected media asset may be marked as a user preferred show and theconsumption score of the media asset associated with the selected mediaasset listing may increase. If the user selects the thumbs down feedbackbutton 564, the selected media asset, the consumption score of the mediaasset associated with the selected media asset listing may decrease. Inan embodiment, the media asset listing 540 may be replaced with adifferent media asset listing for another recommended media asset at thetime slot occupied by media asset listing 540 if the user selects thethumbs down button 564. In some embodiments, once thumbs down feedbackbutton 564 is selected, a list of options may be displayed to the useron screen 500 prompting the user for further options on how to proceed.Some of these options may be to remove the episode from the virtualchannel 506, to remove the entire series from virtual channel 506, or tonever display media asset listings for media assets similar to the mediaasset corresponding to media asset listing 540.

The button 566 in information panel 560 allows the user the option tobegin watching episodes of the series corresponding to media assetlisting 540 in succession in virtual channel 506. For example, the usermay wish to have a marathon session of watching episodes of a particularseries, sometimes known as “binge watching.” Selection of button 566removes media asset listings from the next few available time slots inchannel 506 and replaces them with successive episodes of the mediaseries that the user wishes to watch in a marathon. In an embodiment,episodes starting after the episode corresponding to media asset listing540 are displayed in succession in virtual channel 560. In anotherembodiment, media asset listing 540 is replaced and all episodesstarting from the first episode are arranged in virtual channel 506. Inanother embodiment, in response to activating button 566, an option maybe provided confirming to schedule consumption of the media seriesepisodes preceding episode of media asset listing 540 that the user hasnot yet consumed. Such an option may further confirm that theseunwatched episodes will be scheduled for consumption at a time prior tothe scheduled 5 PM consumption timeslot of media asset listing 540.These media asset listings for the unwatched series episodes may belisted prior to and adjacent to the 5 PM scheduled consumption timeslotof media asset listing 540. For example if there is only one unwatchedmedia series episode for “Breaking Bad” preceding the episode identifiedby media asset listing 540, then the media asset listing for thisunwatched episode may be arranged at the 4 PM timeslot immediately priorand adjacent to the 5 PM timeslot of media asset listing 540. If thereare multiple unwatched media series episodes for “Breaking Bad”preceding the episode identified by media asset listing 540, then themedia asset listings for these unwatched episodes may be arranged backto back in immediately consecutive timeslots such that the media assetlisting for the last episode of the unwatched episodes is scheduled atthe timeslot immediately prior and adjacent to the 5 PM timeslot ofmedia asset listing 540.

The button 568 in information panel 560 allows the user the option towatch a different episode of the same series as the media assetcorresponding to the selected media asset listing 540. The computingdevice may generate the display of an overlay over media schedule screen500 that lists different episodes of the same series as media assetlisting 540 upon selection of button 568 if the media asset for mediaasset listing 540 is determined to be part of a series and thatadditional episodes of the same series are available for display at thetime slot corresponding to the one occupied by media asset listing 540.

The button 570 in information panel 560 allows the user the option tomove the media asset listing 540 to a later time slot in virtual channel506. The user may be allowed to specify the new time slot at which mediaasset listing 540 is to be displayed if button 570 is selected. Once themedia asset listing is moved to a later time slot, media asset listing540 may be replaced with a different media asset listing for anotherrecommended media asset at the time slot occupied by media asset listing540. Alternatively or additionally, the user may be allowed to simplydrag media asset listing 540 and drop it at a different time slot invirtual channel row 506. If the time slot at which the media assetlisting 540 is dropped is occupied by a media asset listing, that mediaasset listing may be moved to the time slot previously occupied by mediaasset listing 540 or that media asset listing may be moved to the nextavailable time slot. Accordingly, all media asset listings may be pushedback to a later time slot if the user drags and drops media assetlistings to previously occupied time slots. If a multicast media assetscheduled for a predefined time slot in any channel row runs overtime(e.g., the football game runs 15 minutes beyond its scheduled end time),the media asset listings in the user's virtual channel that follow theovertime media asset may be pushed back in the virtual channel'sschedule and, if needed, recorded by the DVR.

In some embodiments, the media asset listing 540 may be moved to a timeslot that occurs after the multicast time of its corresponding mediaasset. In response to determining that the new timeslot to which mediaasset listing 540 is moved to occurs at a time after the multicast timeof the corresponding media asset, the corresponding media asset may berecorded for future consumption at the new timeslot. If thecorresponding media asset is selected by the user for viewing during itsnew timeslot, the recording may be played back.

In some embodiments, activation of buttons 566 and 568 to start amarathon and to watch a different episode instead of watching the mediaasset identified by the currently selected media asset listing 540 maycause one or more currently scheduled media asset listings to be movedto different timeslots in the media schedule. The new timeslot to whichthe currently selected media asset listing 540 is to be moved to may bedetermined by determining the total amount of time needed to consumeunwatched series episodes if button 566 is selected or the total amountof time required to watch the different episode if button 568 isselected. To determine the new timeslot, the minimum amount of time thatmedia asset listing 540 should be delayed is determined based on thetotal amount of time required to watch the episodes that the user hasrequested to watch instead of media asset listing 540.

FIG. 5C illustrates the media schedule screen 500 once button 566 isselected to begin a marathon of the series corresponding to media assetlisting 540. The media asset listings 542 and 544 previously displayedin virtual channel row 506 in time slots after media asset listing 540may be replaced with media asset listings 572 and 574 for episodes ofBreaking Bad, the series corresponding to media asset listing 540. If itis determined that certain episodes of the series have been watchedpreviously by the user or recently watched by the user, media schedulescreen 500 may display a notification to the user for media assetlistings corresponding to such episodes so that user can exercise anoption to replace media asset listings for these episodes in virtualchannel 506 with media asset listings for episodes of the series that hehas not yet watched in order to catch up the user on the series asquickly as possible. In an embodiment, if a future scheduled media assetlisting is selected by the user for binge watching, the computing devicemay determine if there are any series episodes for that series that theuser has not watched. If there are unwatched episodes for that series,the computing device may generate listings for these episodes in thevirtual channel in time slots before the selected media asset listing.If there are too many unwatched episodes, which cannot possibly all bewatched in succession before the media asset for the future selectedmedia asset listing is to be multicast, the computing device mayinstruct the DVR to record the media asset for the future scheduledlisting and replace the selected media asset listing and all other mediaasset listings from the current time forward with media asset listingsfor the unwatched episodes. The computing device may list the recordedmedia asset in the virtual channel once all the unwatched episodes ofthe series prior to the recorded episode have been listed in the virtualchannel.

FIG. 6 illustrates a media schedule screen 600 in which all rows of themedia schedule correspond to virtual channels. The features of the mediaschedule screen 600 may be similar to media schedule screen 500 of FIGS.5A-C except that media schedule screen 600 includes only personalizedvirtual channels instead of a mix of multicast channels and personalizedvirtual channels as shown in FIGS. 5A-C. Virtual channels 622, 624, 626,628, 630, and 632 correspond to virtual channel identifiers 602, 604,606, 608, 610, and 612, respectively, which describe the media attributeshared by the media assets listed in each virtual channel. The computingdevice may generate virtual channels for genre based channels such aschannels 624, 626, and 628. Each of these channels may be selected forinclusion in media schedule screen 600 by identifying genres that theuser has the most interest in. The computing device may arrange thevirtual channels for display in media schedule screen 600 according tothe level of interest that the user has for the media asset listcorresponding to the virtual channel. The computing device may retrievethe content for these virtual channels from media asset lists of mediamenus as shown in FIGS. 3A-B from predetermined search queries ofpotential interest to the user that are generated using any combinationof media asset metadata attributes. Channel identifiers displayed incolumn 640 for such virtual channels may describe the attribute orattribute combination as discussed with relation to FIG. 4 that are usedto create media asset lists. The computing device may also createvirtual channels for episodes of a particular series of interest to auser, such as channel 630 for episodes of the series Breaking Bad. Thecomputing device may also create virtual channels for media contenthaving a particular actor that a user likes, such as channel 632 formovies starring Brad Pitt.

A given period's programming in the virtual channels may be filled basedon programs meeting the virtual channel's criteria, the scheduledmulticast or broadcast time for programs that are airing that evening(e.g., tonight's episode of “The Walking Dead”), the user's time andcontent viewing preferences (e.g., user prefers comedies before 8 pm),and/or any other desired criteria for filling the schedule. Each mediaasset listing in media schedule screen 600 may also include buttons toallow the user to input a rating for the media content associated withthe media asset listing, a button to initiate a series marathon for theselected asset, a button to schedule the media asset listing for a latertime, and/or a button to replace the media asset listing with a mediaasset listing for a different media asset.

FIGS. 7A-B illustrate example screenshots for a text search feature thatmay be implemented, for example, with the program guide discussed above.FIG. 7A illustrates a media search functionality of a personalized mediainterface. Media search screen 700 may be displayed on the personalizedmedia interface when a user enters a search query 702 into any searchquery area 704 of the media interface. In another embodiment, mediasearch screen 700 may be displayed on the personalized media interfacein response to determining that a media search is to be conducted toidentify one or media content items to fill one or more empty timeslotsof the media interface. In another embodiment, search screen 700 may bedisplayed on the personalized media interface when a user simply beginstyping in characters using an input device, such as typing in lettersusing a remote control or via an onscreen text input interface. As theuser enters letters into search query area 704, a search result area 706may be populated with search results 708 for media providers and searchresults 710 for media assets that satisfy the search criteria enteredthus far.

For the first few letters entered by the user (e.g. a predeterminedthreshold of the first 3 or 4 letters), the media search results 708 formedia providers may be assigned a higher weighting in the search resultsdisplayed in search result area 706 than other media search results suchas search results 710 for media assets displayed in area 706. In animplementation, a preset threshold for placing higher weighting to mediaprovider search results may be set to four characters with theassumption that if a user is searching for more than four characters,then he is most probably not searching for a media provider since mediaproviders may typically have names or identifiers less than or equal tofour characters. Accordingly, search results 708 for media providersthat match the user's text search criteria are displayed higher thansearch results 710 for media assets that match the user's text searchcriteria. For example, if the user typed in “Fox,” then televisionstations that have “Fox” in their name may be displayed before videoprograms that have “Fox” in their name. In this way, the search systemmay assume that the user is more likely to be searching for thetelevision station than the particular program. As long as the number ofcharacters in search query 702 is less than or equal to thepredetermined threshold number of characters, search results 708 formedia providers are given a higher display weighting than any othersearch results. Search results 708 for media providers may be arrangedalphabetically or according to the proximity of match to search query702.

Although in the example shown in FIG. 7A, all search results 708 formedia providers are displayed above search results 710 for media assets,this may not be the case for all text searches. The computing device maysimply assign a higher display weight to media provider search resultsthan to media asset search results but the degree of match to theentered search query 702 may also affect the weighting of the results.The higher display weight assigned to the media provider search resultsmay not be set so high that a media provider search result that poorlymatches the entered search query 702 is displayed higher in searchresults than a media asset search result that better matches the enteredsearch query 702. Therefore in many different examples, not depicted inFIG. 7A, some media provider search results that match search query 702well may be displayed above search results for media assets and somesearch results that do not match the entered search query 702 may bedisplayed below media asset search results that better match searchquery 702.

The search may be iteratively performed as additional characters areentered into search query 702. As each additional character is enteredinto search query 702, a check is performed to determine whether thenumber of characters in the search query 702 has exceeded the presetthreshold of characters. Once the number of characters in search query702 exceeds the preset threshold, the display weighting assigned tosearch results 708 for media providers relative to other search resultsis decreased. With the entry of each additional character in searchquery 702 that exceeds the preset threshold number of characters, thedisplay weighting of search results 708 is iteratively decreased acertain amount relative to the display weighting of search results 710for media assets matching the search query 702.

Media search screen 700 may include a preview window 712 displaying apreview of the currently tuned media asset. Media search screen 700 mayalso include search filters 714, 716, 718, 720, and 722. Such searchfilters, when activated, limit the search results according to theattributes specified in the filter. For example, if search filter 716for high definition content is activated, the computing device mayfilter search results 710 for media providers to only display searchresults for high definition channels and search results 708 for mediaassets are filtered to only display search results for high definitionmedia assets. If search filter 718 for movies is activated, thecomputing device may filter search results 718 for media providers toonly display search results 710 for movie channels or channelsdisplaying movies at the time the search is conducted and may filtersearch results 708 for media assets to only display search results formedia assets that are movies.

Search results 708 for media providers may be displayed even if an aliasfor the media provider is entered in search query 702. For example ifthe user enters FSN, an acronym for Fox Sports Network, search resultsfor Fox Sports 1 and Fox Sports 2, two different Fox Sports mediaproviders, are displayed in search result area 706. The computing devicemay compare search queries to the title of media content, to the namesof media providers, and/or to metadata associated with media channelsand media content for aliases. Accordingly, the personalized mediainterface is able to understand the user's search query intelligentlyand is able to display the appropriate search results that the user willbe most interested in and is interested in searching for.

Once the user has entered a search query with more than the presetthreshold number of characters, the search results for media providersmay be displayed lower in the search result area than the search resultsfor media assets, as shown in FIG. 7B. For example, once the user hasentered additional characters in search area 702 from the initial searchquery 704 for “FOX” so that search query 724 is for “FOX Report,” asearch may be executed for “FOX Report.” The computing device maydetermine that the number of characters in the search query “FOX Report”exceeds a predetermined threshold of four characters and accordinglyreduces the display weighting for search results 708 for media providersrelative to search results 710 for the media assets matching searchquery 724. Search results 710 for media content may be arrangedalphabetically or according to the proximity of match to search query724 as illustrated in the example of FIG. 7B.

The search results may be selected and sorted according to a variety offactors in addition to the degree of match with the user input searchquery. Search results for new episodes, first run media assets, andother media content that the user has never before viewed may bedisplayed above search results in search result area 706 for reruns andmedia content previously viewed by the user. Search results may besorted by the time of multicast of the media asset. For example, searchresults may sorted by the computing device such that search results formedia content that is being multicast the soonest is assigned moredisplay weight and is accordingly displayed other search results formedia content that are being multicast later.

Search results may also be sorted by the time the multicast is scheduledto end. In an embodiment, if a media asset that matches the search queryhas almost finished the entirety of its multicast at the time the searchis executed, the computing device may reduce display weighting for thesearch result for that soon-to-end multicast media asset relative toother media search results that are not almost over. For example, if theuser searches for “Op” and the Oprah show that is currently beingmulticast only has two minutes left until the program has finishedairing, search results for Oprah may receive decreased weighting overother shows matching such the search query that are not almost over,such as “Open House NYC” and “The French Open.” Such rules may beproduct driven in that the rules for how to sort search results may havebe conditional on the type of media content or media source. Forexample, the rule for decreasing display weighting for search resultsfor soon-to-end media assets may be suspended only for sports genremedia assets since viewers like to watch the end of sports programmingbut not movies or television shows. Accordingly, the system may store aset of rules for displaying and ranking search results for each producttype. Alternatively or additionally, the system may store a set ofexceptions to search result display rules for certain products.

In some embodiments, the user's previous consumption habits may be usedto adjust how the search results should be sorted. For example, the timeof day that a search is executed and the device on which the search isexecuted may affect the ordering of search results in the search displayarea 706. By monitoring consumption history of the user(s) at a givendevice, consumption patterns are identified for specific times of day ateach device and search results are tailored to emphasize search resultsthat match the type of media content that is typically consumed at thegiven device at the time of day at which the search is executed. Forexample, user media consumption history of the living room televisionindicates that children watch cartoons on the living room during thedaytime and that the mother watches Oprah at 4 PM frequently.Accordingly, typing “Op” might result in search results for a cartoonduring the daytime on the living room television. However, if the searchis conducted a few minutes before the start of the 4 PM Oprah show, suchas at 3:30 PM, search results in search results area 706 may bereordered to emphasize the display of search result for the Oprahtelevision show above the cartoons.

In some embodiments, the location of the user device may also affect themanner in which search results are displayed. The computing device mayemphasize search results for local media providers multicasting contentfor the region in which a device is located and may also emphasizesearch results for the local media content from such local mediaproviders. For example, search results displayed on a personalized mediainterface of the same tablet device may differ when the user moves fromone city to another. When the user is traveling, the tablet's locationis identified by the GPS device located within the tablet and thelocation is transmitted to either a headend server or to the processorof the tablet, which then accordingly orders search results based on thenew location of the user tablet device.

Media search results may also be ranked based on the metadata attributesof the media assets and media providers. For example, search results formedia content or media providers associated with a genre, tone, theme,or actors that the user(s) have an interest in are assigned higherweight than other search results. For example, if the user searches for“Game” and the user prefers to watch fantasy television shows oversports, the computing device may display search results for “The Game ofThrones” above other search results such as “College GameDay.” In someembodiments, the user may be able to specify and adjust the parametersused to rank search results and how much weight to assign to searchresults for such parameters. For example, the user may be able tospecify his preference for media related to specific times of day, mediatype, and freshness of content using the personalized media interface.

FIGS. 8A-E illustrate an example process whose steps may be performed bythe various components in the systems shown in FIGS. 1 and 2 or anyother computing device. The process may be implemented in a networkenvironment having devices such as an application server 107, a user'sconsumption or access device (e.g., display device 112, gatewayinterface device 111, personal computer 114, wireless device 116, etc.),or any other desired computing device.

In step 801, a computing device such as an application server 107 maymonitor media consumption of a plurality of users. Media consumption ofusers is performed by monitoring which media content users watch onparticular media devices, by monitoring the time of day at which userswatch certain types of content, by monitoring the frequency of contentusers tend to watch certain types of content, by monitoring what typesof content users browse and search for, and by taking note of othermedia analytics metrics. Monitored user consumption data for each usermay be logged at the headend or at the user's local device andassociated with the user's profile. Media consumption histories of usersmay be used to calculate how popular a media asset and a type of mediaasset is with a particular of user, a subset of users, and all users, asmedia consumption scores. Such media consumption scores may beassociated with a user profile and with their respective media assets.Media consumption monitoring may be continuously performed and mediaconsumption scores may be continuously updated accordingly.

By monitoring the media consumption of a plurality of users, in step802, similar users may be identified. Users are found to be similar ifthey have similar media consumption patterns and preferences. If two ormore users have similar favorite media asset types and similar favoritemedia assets and media asset series, then these users may be determinedto be similar to one another. Users may be further determined to besimilar to one another if they are geographically located in the samearea and have the same media consumption patterns and preferences. Usersmay be further determined to be similar to one another if they consumesimilar media content on similar devices at the same time periods. Forexample, if two different users both watch morning television news showsin their living room televisions and watch Oprah in the afternoon ontheir tablets, they may be determined to have similar tastes.Identifying similar users is useful for generating personalized mediarecommendations to the user. Media content of interest to a useridentified to have similar preferences as a given user may berecommended to the given user.

In step 803, the computing device may monitor whether a request togenerate a personalized menu has been received. Such a request togenerate personalized menus may be automatically initiated by thepersonalized media interface before the user has actually requested tosee any menu listings. Such a request is typically initiated by thesystem or the application servers once enough new content becomesavailable to generate new personalized menus reflecting new anddifferent combinations of new and preexisting media assets. Thecomputing device may generate media menus as discussed above withrespect to FIGS. 3A-B. The user's navigation of the personalized mediainterface may also initiate a request to view menu pages such as thoseof FIGS. 3A-B, and consequently may initiate a request to generatepersonalized menus.

If such a request has been received, then in step 804, the menu categoryfor the personalized menu to be generated may be identified. The menucategory may be identified by determining potential search queries thatusers are most likely to input. By identifying the types of mediacontent that are popular with users, by identifying the newly availablemedia assets, and/or by identifying new combinations of new andpreexisting media assets, the computing device may be able to bestanalyze media attributes or combinations of media type identifiers thatusers are most likely to be interested in. For example, by observingseveral users' media consumption histories, by noting that there areseveral new superhero television show episodes and by noting the menucategories of preexisting menus, the system may determine that severalusers would be interested in watching media assets related to actiontelevision shows about superheroes. In this case, the computing devicehas determined that the user is most interested in the combination of agenre of action a theme of superheroes. Accordingly, the computingdevice identifies the menu category to be action television show aboutsuperheroes.

In step 805, upon identifying the menu category for a new media assetlist, a list of media assets matching the identified menu category maybe generated. By searching for media assets that contain metadata ormedia tags with the parameters identified in the combination of mediaidentifiers of the identified menu category, the media assets to beincluded in the list of media assets may be found. Media assets matchingthe parameters set by the identified menu category are included in amedia asset list associated with the menu category. The generated menumay be stored for future usage.

Once media asset lists for each menu category have been generated, instep 806, the media asset lists may be selected for display at a userdevice based on the level of interest that the user of the device wouldhave in each generated media asset list. For example, the media assetlists generated in step 805 may be further analyzed to determine whetherthe user would be interested in watching the identified media assets andthe level of interest the user would have in watching each of theidentified media assets. For example, each of the identified mediaassets' metadata parameters may be examined to quantify the level ofinterest the user would have in watching each of the assets. The mediaconsumption score associated with each of the identified media assetsmay be analyzed with respect to the user to quantify the level ofpotential user interest in each of the identified media assets. Thecomputing device may select only a select number of the generated mediaassets that have been determined to exceed a threshold amount ofpotential user interest for display at the user media interface of theuser's device. Accordingly, each of the media assets in the media assetlist is determined to be of user interest such that only media assetswith a high confidence value for the level of user interest arerecommended to the user in order to not break the user's trust in therecommended media assets.

In step 807, the media assets in the media asset list may be ranked inorder of user interest based on the monitored media consumption ofusers. After select media asset lists having media assets determined tobe of sufficient user interest have been generated and selected fordisplay at a user device, the media assets in such selected media assetlists are arranged in an order of descending potential user interest.For example, the order in which media assets are arranged in the mediaasset list may be rearranged according to descending media consumptionscore. The media asset list may be displayed to the user in a menu pageas illustrated in FIGS. 3A-B according to that order.

Once personalized media asset lists have been generated and the mediaassets in these media asset lists have been arranged in order, thecomputing device may, in step 810, determine whether a request toconsolidate menus has been received. Such a request may be issuedperiodically after a preset number of menus have been generated or aftera preset number of menus for a given media tag are generated. It may beautomatically determined that there are several similar menus thatrequire consolidation. Minimizing redundancy in the presentation of therecommendation menus helps to ensure that the user is provided with awider range of options when viewing the recommendation menus.

In step 811, upon receiving a request to consolidate menus, apredetermined threshold number of media asset lists to be maintained maybe identified, as shown in FIG. 8B. For example, the number of mediaasset lists that should be maintained in total may be identified.Alternatively or additionally, the number of media asset lists to bemaintained per menu category may be identified. Such number of mediaasset lists to be maintained may be updated by determining the totalnumber of media asset lists that can be processed given the availableresources of the system (i.e., memory, computing power etc.).Alternatively or additionally, an administrator at the applicationserver may specify the total number of media asset lists that can bemaintained.

In step 812, the total number of media asset lists that currently existmay be identified. The number of existing lists may be continuouslymonitored by keeping track of the new media asset lists that aregenerated by the system.

Once the total number of media asset lists that currently exist isidentified, in step 813, the computing device may determine whether thetotal number of currently existing media assets exceeds the thresholdnumber of lists to be maintained. For example, the computing device maycompare the total number of media asset lists with the threshold numberof media asset lists to be maintained. If the total number of lists doesnot exceed a threshold, the method may return to step 812 to monitor thetotal number of lists until the total number of lists exceeds thethreshold number.

In step 814, if the total number of currently existing media asset listsis determined to exceed the threshold number of lists to be maintained,the computing device may determine whether at least two different mediaasset lists are found to be similar according to a criterion. If no twolists in the currently existing media asset lists are identified to besimilar, then the method may return to step 812 to monitor the totalnumber of currently existing media asset lists until new media assetlists are created which may be similar to the currently existing mediaasset lists.

One such criterion for media asset lists similarity may be if at leasttwo media asset lists contain more than a threshold number of the samemedia assets between the two of them. For example, if 70% of the mediaassets in a media asset list are shared in common with another mediaasset list, then the two media asset lists are similar. The computingdevice may determine on a per media asset list basis, the number ofmedia assets shared across the plurality of media asset lists.

Another criterion for media asset list similarity may be if at least twomedia asset lists contain more than a threshold number of the same mediaassets having the same title between the two of them. For example, if70% of the media assets in a media asset list have the same titles asmedia assets in another media asset list, then the two media asset listsare similar. The computing device may determine, on a per media assetlist basis, the number of media assets having substantially similartitles across the plurality of media asset lists. Occasionally, many ofthe same media assets are listed in different media asset lists butcannot be identified as the same media asset due to non-media contentdifferences such as formatting (e.g., an SD or HD version of the sameprogram) or perhaps because they have not been assigned the same mediatags. By checking for similar titles however, the same media assets maybe identified even if they are formatted differently or for some reasonhave different media tags associated with them. If a subset of one ormore of the identified plurality of media asset lists have more than thethreshold number of media assets having similar titles in common withmedia assets of the given media asset list, then the given media assetlist is determined to be similar to the identified subset of media assetlists.

Another criterion for media asset list similarity may be if at least twomedia asset lists contain more than a threshold number of media assetswith similar media tags shared in common between the two of them. Forexample, the computing device may compare each list with all other liststo find the media asset lists whose listed programs have the same mediatags. For example, the computing device may determine that the mediaasset list for television shows with Gordon Ramsey contains ten mediaassets with the media tags of “cooking television show genre,” “realitytelevision show genre,” “angry chef theme,” and/or “comedy genre” andthat another media asset list for comic reality television shows with anangry chef also has ten media assets with the same media tags. If asubset of one or more of the identified plurality of media asset listshave more than the threshold number of media assets having similar tagsin common with media assets of the given media asset list, then thegiven media asset list is determined to be similar to the identifiedsubset of media asset lists.

In step 815, if at least two media asset lists are found to be similaraccording to any of these criteria, all but one media asset list of theat least two media asset lists found to be similar may be removed fromthe total number of media asset lists maintained by the system. Alllists that are determined to be similar to another preexisting mediaasset list may be removed in order to keep the number of total listsbelow the predetermined threshold number of lists to be maintained bythe system.

In step 816, upon removing media asset lists determined to be similaraccording to one criterion from the system, it may be determined whetherthe total number of lists exceeds the predetermined threshold number oflists to be maintained. For example, the computing device may identifythe total number of media asset lists remaining after the media assetlists determined to be similar according to one criterion are removedwith the threshold number of media asset lists to be maintained. If thetotal number of media asset lists does not exceed the threshold, thenthe method may proceed to step 818 to select which lists from thecurrently existing lists are to be displayed at a user device.

In step 817, if the total number of currently existing media asset listsis determined to exceed the threshold number of lists to be maintained,the computing device may determine whether there exist any additionalcriteria for checking media asset lists similarity that have not beenused for the removal of similar media asset lists. If there areadditional criteria for checking media asset list similarity, then themethod may return to step 814 to execute another pass of checking formedia asset list similarity according to the unused criterion. If noadditional criteria for checking media asset list similarity remain andthe total number of currently existing lists still exceeds the thresholdnumber of lists to be maintained, the criterion for media asset listsimilarity may be relaxed to remove additional media asset lists.Alternatively or additionally, the threshold number of media asset liststo be maintained may be increased.

In step 818, the media asset lists may be selected for display at a userdevice from the media asset lists left remaining after one or morepasses of media asset list similarity removal. For example, theremaining media assets lists may be further analyzed to determinewhether the user would be interested in watching the identified mediaassets and the level of interest the user would have in watching each ofthe identified media assets. The computing device may select only aselect number of the identified remaining media assets that have beendetermined to exceed a threshold amount of potential user interest fordisplay at the user media interface of the user's device. In someembodiments, such a selection of media asset lists for display may bereceived from the user. In another embodiment, such a selection of arepresentative media asset list may be received from a system operatorat the media provider or at a media guide backend office. In yet anotherembodiment, such a selection may be automatically made by the computingdevice by monitoring which media asset lists are displayed in mediainterfaces of other users and which media asset lists are most popularwith users identified to be similar to the given user.

In step 829, as shown in FIG. 8C, once redundant media asset lists havebeen removed, the computing device may receive a request to rank aplurality of different menus or media asset lists with respect to eachother. Such a request may be automatically generated by the system upondetermining that media assets have been selected for display at a userdevice. In order to personalize a page of recommended menus to the useras best as possible, media asset lists that are determined to be of thegreatest user interest may be ranked higher and displayed before theremainder of the recommended media asset lists. Accordingly, thecomputing device may automatically periodically request to rank aplurality of different media asset lists in an effort to keep the mediapage personalized with the generation of new media asset lists.

In step 830, upon receiving the request to rank different media assetlists, a plurality of media asset lists recommended to the user may beidentified. For example, the computing device may determine which of thegenerated lists will be generated for display by checking userpreferences for types of lists the user would like to view.

In step 831, consumption scores may be calculated for each media assetconsumed by each user. By monitoring the consumption history, browsinghistory, media preferences of the user and users with similar mediapreferences, a consumption score may be calculated for each media asset,which is a quantization of the level of interest a given user may havein viewing that media asset. Such a score may be calculated bydetermining the media tags associated with the media asset and bydetermining the level of interest the user would have in the media assetgiven its unique combination of media tags. For example, the computingdevice may assign media attribute tags with certain scores. If it isdetermined that the user likes comedy movies, the computing device mayassign comedy movies with a high score. But if it is determined that theuser does not like media content with dark tone, the computing devicemay associate the dark tone media attribute with a low score.Accordingly, a composite score may be calculated for a dark comedy movieby compositing the scores for dark tone with the score for comedymovies.

Score calculation may factor in the frequency with which the userconsumed certain types of media content. For example, media assets thatare determined to be of the genre that the user frequently watches maybe associated with a high score. High scores may be assigned to mediaassets having a comedy tag if it is determined that the user watchescomedy programs frequently. However, media assets that the user hasrecently watched may be assigned a low consumption score in order to notrecommend content that the user has very recently watched again to theuser. The consumption score may be a dynamic score that changes overtime such that recently watched media contents' scores increasesignificantly as more time passes.

Score calculation of the media asset may also take into account thedevice and time at which the media asset list is being presented to theuser. Each device may have different consumption patterns and thecalculated score may reflect such differences in each of the media assetscores. For example, more children's cartoons may be viewed in theliving room television than in the parent's bedroom television.Accordingly, scores for children's cartoons may be higher if they arebeing recommended to the living room television than to the parent'sbedroom television. By monitoring media consumption history, thecomputing device may determine that the user has a preference forcertain types of media content at certain time of the day. For example,the computing device may determine that the user(s) may prefer to watchnews at 6 PM every day in the living room television. Accordingly, themedia consumption scores associated with news programs scheduled to bedisplayed at 6 PM at the user device may be much higher than scoresassociated with news programming scheduled to be displayed at othertimes.

In step 832, the calculated scores for each media asset may beassociated with the media asset and stored in a database. For example,the computing device may store the calculated score for each media assetfor a given user device locally at the given user device or at a server.The score may be associated with the particular user device and the useraccount. In another embodiment, the score for each media asset may beassociated with a plurality of user profiles if it is determined that aplurality of different users consume content at a given user device.Such a score may indicate that the media content score is based on theconsumption history, browsing history, and preferences of a compositeuser viewership of a plurality of users.

In step 833, a score for each media asset list may be calculated basedon the user consumption scores of the media assets in each list. Themedia asset list score may be calculated based on the quantity of mediaassets that have a high consumption score and the scores of such mediaassets. Such a media asset list score may be stored at the user deviceor at a remote server.

In step 834, a limited number of media asset lists having the highestmedia asset list score may be selected for display at a user interface.There may be an upper limit for the number of media asset lists that canbe displayed on a certain menu page of the personalized media interface.Accordingly, the computing device may determine how many media assetlists the menu page can display at maximum and select that many mediaasset lists having the highest media asset list scores from theplurality of media asset lists.

In step 835, an ordered display may be generated of the limited numberof media assets selected for display in order of descending media assetlist score. The media asset lists may be ordered in descending orderstarting so that the most recommended media asset list (i.e., the mediaasset list with the highest media asset list score) will be displayed atthe user interface before all other media asset lists. Accordingly, onlya preset number of media asset lists having the highest score of allmedia asset lists matching the criteria required for display at the userinterface that have been selected in step 834 may be ordered in adescending order based on their media asset list score.

Alternatively or additionally, a personalized media schedule guide maybe generated and/or displayed. Accordingly, in step 839, once enoughuser consumption history has been sufficiently monitored to gather userconsumption data for media assets, the computing device may determinewhether a request to generate a personalized media guide has beenreceived. Such a request may be received from the user when the useractivates an option in the personalized media interface to view theschedule of media asset listings using an input device. In anotherembodiment, the computing device may monitor whether the user haspressed a “Guide” switch on his remote control user input device thathas a sole function of displaying a media asset schedule. The computingdevice may continuously or periodically check whether such a request toview the media asset schedule has been received at any time after thepersonalized media interface is displayed on the user device.

Upon determining that a request to generate and/or display thepersonalized media schedule guide has been received, an ordered displaymay be generated of multicast media asset listings and on-demand mediaasset listings categorized by media provider and the scheduledavailability time of media assets. For example, a grid organized bycolumns of scheduled multicast time and rows of media providers may begenerated. Media asset listings may be arranged for multicast mediaassets in the appropriate cells based on their media provider andscheduled multicast time (e.g., the times when the various programs willbe aired by their respective networks). If there is no set multicasttime (i.e., the on-demand assets are always available), the on-demandmedia assets may be organized at times that it determines the user willbe most likely to view the on-demand media asset based on the user'smonitored media consumption patterns and preferences.

In step 840, as shown in FIG. 8D, upon generating the display of anymulticast media channels and on-demand channels in the personalizedmedia schedule guide, the number of virtual channels to be included inthe media schedule guide may be identified. The number of virtual mediachannels may be identified by determining from the media consumptionhistory whether the user prefers to watch only multicast media assetsfrom multicast media channels, on-demand media assets from on-demandmedia channels, or whether the user prefers to watch certain types ofmedia content from a variety of multicast and on-demand media providers.Upon determining the user preference for certain media contentattributes (i.e., genre, tone, theme, actors, etc.), the virtualchannels may be generated having menu categories corresponding tocombinations of such user preferred media content attributes.

In step 841, upon determining which virtual channels will be included inthe media guide, the time range for scheduling virtual channelprogramming may be determined. For example, the computing device maydetermine what time range to display in a personalized media schedulescreen such as screen 600 of FIG. 6. The time range spanned by thevirtual channels and the media guide in FIG. 6 is from 5 PM to 7:30 PMand accordingly, media assets may be scheduled in virtual channels forthis time duration in the media guide.

In step 842, the criteria for including media asset listings in eachvirtual channel may be identified. For example, the computing device mayidentify the common media attribute combination for media assets in eachparticular virtual channel. For example, as shown in FIG. 6, virtualchannel 624 included media assets that shared the common media attributeof reality television. Such criteria may include a single mediaattribute or a combination of multiple attributes.

In step 843, media asset listings for matching the identified criterionfor each virtual channel may be assigned to the virtual channel.Multicast and on-demand media asset listings of interest to the user maybe selected from a plurality of media providers. In some embodiments,media asset listings may be arranged for the selected multicast mediaassets in the virtual channel according to the scheduled multicast timeof the selected multicast media assets. For example, a media assetlisting may be generated in the row of a virtual channel displayed inthe personalized media schedule for the selected multicast media asset.A plurality of different media asset listings for different multicastmedia assets may be included at different multicast time slots fromdifferent media providers in one virtual channel. If the computingdevice determines that the user will be much more interested in viewingthe multicast media asset at a later time than the multicast time, a DVRmay be instructed to record the multicast media asset and place themedia asset listing for the multicast media asset at the time that theuser will be most interested in viewing it. At such a time, if the userselects such a media asset listing for playback, the DVR may beinstructed to play back the previously recorded multicast media assetcorresponding to the media asset listing.

In step 844, upon populating the virtual channel with media assetlistings for media assets that the user is most likely to be interestedin, the computing device may determine whether there exist any emptytime slots without any media asset listings, referred to herein as mediaasset listing gaps, for the virtual channel. Such a determination may bemade by examining whether there exist any time slots in the virtualchannel that have not been populated with media asset listings formulticast media assets of interest to the user. If it is determined thatthere are no such media asset listing gaps in the virtual channel, thenthe method may proceed to step 848 to determine whether there are anyother virtual channels to assign media asset listings to.

In step 845, if it is identified that there exist media asset listinggaps in the virtual channel, then, the computing device may furtherdetermine whether there are any unused criteria left to select mediaassets to list in the media asset listing gaps. The unused criteria maybe ranked in an order of priority, either automatically by the system ormanually by a backend system administrator or even the user. Mediaassets matching the highest priority of unused criteria may be firstused to fill the media asset listing gaps and if there still exist gaps,lower priority unused criteria may be used to select media assets tofill the media asset listing gaps.

One criterion used to select media assets to list in the media assetlisting gaps is whether any on-demand media assets match the mediaattribute criteria identified in step 842 for including media assetlistings in that virtual channel. Media asset listings for on-demandmedia assets that the user would be most interested in from on-demandmedia sources may be selected to populate the media asset listing gapsin the virtual channel. For example, the media asset listings foron-demand media assets may be selected upon determining the level ofinterest that the user will have to view the media asset at the timeperiod corresponding to the media asset listing gap. A media assetlisting may be generated in the row of a virtual channel displayed inthe personalized media schedule for the selected on-demand media assetand place the generated listing in the time slot corresponding to themedia asset listing gap. A plurality of different media asset listingsfor different on-demand media assets may be included at different timeslots corresponding to different media asset listing gaps from differentmedia on-demand providers in one virtual channel. Additionally, mediaasset listings may be generated for media assets stored locally at theuser device (i.e., at the user's DVR, removable media, or hard drive) ifit is determined that the user would be most interested in viewing thosemedia assets at the time period corresponding to the media asset listinggap.

Another criterion used to select media assets to list in the media assetlisting gaps may be whether there exist unwatched episodes of mediaseries that the user regularly watches. For example, the computingdevice may determine that the user regularly watches episodes of themedia series “Game of Thrones” and that there exists at least oneunwatched episodes.

Another criterion used to select media assets to list in the media assetlisting gaps may be whether there exist media assets that are extremelypopular with users that have similar viewing preferences as the userthat the user has not watched. For example, a user who may watchepisodes of the media series “Friends” may have never watched episodesof “Seinfeld,” which are extremely popular with other users whoregularly watched episodes of “Friends.”

In step 846, if it is determined that that there are unused criteriawith which to select assets to list in the media asset listing gaps,media asset listings may be assigned using the highest priority unusedcriterion. The computing device may determine which of the unusedcriteria has the highest priority and use that rule to select mediaassets to list in the media asset listing gap. Upon identifying mediaassets that match such criteria, such media assets may be listed in themedia asset listing gaps at a time at which the user is most likely tobe interested in viewing them. Upon listing media assets from thehighest priority unused criteria, the method may proceed to step 844 tofurther check whether there are any additional media asset listing gaps.

In step 847, if it is determined that that there are no unused criteriawith which to select assets to list in the media asset listing gaps andthere still are media asset listing gaps, media assets that partiallymatch an identified criteria for including media assets in the virtualchannel may be listed in the virtual channel. For example if thecriteria for including media assets in step 843 is improvisationalcomedy television shows, media assets matching a related subgenre suchas slapstick comedy movies may be listed.

Once the media asset listing gaps in the virtual channel are filled withmedia asset listings, it is determined whether there are any othervirtual channels left to schedule media assets in. The computing devicemay determine whether the number of virtual channels filled with mediaasset listings equals the number of virtual channels identified to beincluded in the media guide at step 840. If there are still virtualchannels that have not been assigned media asset listings, the computingdevice may perform steps 842-847 for such virtual channels.

Once all channels including virtual channels are populated with mediaasset listings, the media schedule guide display may be complete and thecomputing device may display the generated media schedule grid to theuser on the personalized media user interface. Each media asset listingmay be user selectable. The user may be allowed to provide feedback onhow interesting the user finds the content corresponding to each mediaasset listing. The user may also be allowed to move the media assetlisting to a different time slot by dragging and dropping the mediaasset listing from one time slot to another in the media schedule gridusing a user input device. The user may also have the option ofactivating an option on a media asset listing to begin “binge watching”a series corresponding to the selected episode. The act of “bingewatching” refers to watching successive episodes of a media asset serieswithout watching a different media asset until the user has completedwatching all episodes of a media series.

In step 850, as shown in FIG. 8E, the computing device may determinewhether it has received a request to modify a media asset listingassignment in the media schedule guide. For example, the computingdevice may monitor whether the user has selected to change the displayarrangement of media asset listings by either removing the selectedmedia asset listing, replacing the media asset listing with anothermedia asset's listing, moving the selected media asset listings to adifferent time slot, selecting an option to being begin watching theseries corresponding to the selected media asset listing, or byperforming any other action that requires at least one media assetlisting to be replaced from its previously assigned time slot. If arequest to modify the media asset listing is not received, then themethod may proceed to monitor whether a request is received to searchmedia content at step 879 as shown in FIG. 8F.

In step 851, upon receiving a request to modify the media asset listingassignment, the computing device may determine whether the requestcomprises reassigning the media asset listing to a different time slotfrom the one at which it is currently scheduled. Certain user actionssuch as dragging and dropping media asset listings using a cursor on themedia schedule guide interface and selecting an option to reschedule themedia asset listing may be interpreted as actions that comprisereassigning the selected media asset listing to a different time.

In step 852, if it is determined that the request does not comprisereassigning the media asset listing to a different time, the computingdevice may determine whether the request comprises watching successiveepisodes of the selected media asset listing (“binge watching”). Thecomputing device may determine that the request comprises binge watchingif the user selects a binge watching option on the selected media assetlisting (e.g., pressing a “start marathon” button 566 on FIG. 5B). Ifsuch an option is enabled, the method may proceed to step 860 toidentify the available series episodes of the selected media assetlisting. Alternatively or additionally, the computing device may monitorwhether the user has activated a “binge watch” button on his remotecontrol user input device to begin “binge watching” of the media seriescorresponding to a selected media asset listing.

However, in step 853, if it is determined that the request does notcomprise a command to watch successive episodes of the selected mediaasset listing, the task involved with the request may be performed. Forexample, the request to modify the media asset listing may involveremoving the media asset listing, replacing the selected media assetlisting, or assigning positive feedback or negative feedback for themedia asset associated with the media asset listing. If any request tomodify the media asset listing is received, the computing device mayperform such tasks specified by the request without changing theplacement of the selected media asset listing in the media schedulescreen. If the user selects a thumbs up or a like button on the mediaasset listing to indicate that he likes the media content for thatlisting, a media asset listing for a similar media asset may be placedon the media schedule screen, replacing a previously recommended mediaasset listing having the lowest consumption history score of all themedia asset listings displayed on the media schedule screen. If the userselects a thumbs down or a dislike button on the media asset listing toindicate that he dislikes the media content for that listing, thecomputing device may remove the selected media asset listing from itsassigned time slot and may replace the selected media asset listing withanother media asset listing for a different media asset as described insteps 844-847 for filling media asset listing gaps in the virtualchannel.

In step 854, if it is determined that the request comprises reassigningthe media asset listing to a different time, then in step 854, thecomputing device may further determine whether the time to which theselected media asset listing is to be rescheduled is identified. Forexample, the user may have specified a time to reschedule the selectedmedia asset listing when selecting an option to reschedule.Alternatively or additionally, the user may have dropped the selectedmedia asset listing on a particular time slot. The computing device mayidentify the time slot at which the selected media asset listing isdragged and dropped on as the rescheduled time.

In step 855, if it is determined that the rescheduled time for the mediaasset listing being reassigned is not identified, a time may beidentified at which the user is most likely to view the asset. The mediaasset listing, its media attributes, and/or the user's media consumptionhistory may be analyzed to determine a rescheduled time at which theuser is most likely to view the media asset listing.

In step 856, if it is determined that the rescheduled time for the mediaasset listing being reassigned is identified, the media asset listingmay be reassigned to the identified time. If there is another mediaasset listing already occupying the time slot to which the media assetlisting is rescheduled, the computing device may reschedule that othermedia asset listing to a different time if the current media assetlisting would be of greater user interest to the viewer at therescheduled time than the other media asset listing.

In step 587, upon reassigning the media asset listing, the computingdevice may determine, whether a media asset has been identified toreplace the reassigned media asset listing. For example, the computingdevice may identify whether a user has previously dragged and dropped orscheduled a media asset listing to the time slot occupied previously bythe now reassigned media asset listing. In some embodiments, when a newmedia asset is made available, the computing device may determine thatthat the new media asset is better fit for a particular times slot ofthe media schedule guide than the currently scheduled media assetlisting and reschedule the currently scheduled media asset listing infavor of listing the newly available media asset at that time slot.

However, in step 858, if a media asset has not been identified toreplace the reassigned media asset listing, a media asset may beidentified that the user may be most likely to view at the time slotpreviously occupied by the reassigned media asset listing. The computingdevice may analyze the media asset listing, its media attributes, andthe user's media consumption history to determine a rescheduled time atwhich the user is most likely to view the media asset listing.

However, in step 859, if a media asset has been identified to replacethe reassigned media asset listing, the identified media asset may beassigned to the empty time slot previously occupied by the reassignedmedia asset listing. Once a media asset is listed in the empty timeslot, the media schedule guide is once again ready for display, thecomputing device may further monitor for any other media schedulechanges by the user or may monitor whether a request for media contentsearch has been received in step 879.

In step 860, as shown in FIG. 8F, in response to a determination arequest to watch successive episodes of the selected media asset listinghas been received, the available series episodes corresponding to themedia series of the selected media asset listing may be identified. Forexample, the metadata of the media asset listing or the metadata of themedia asset associated with the media asset listing may be analyzed toidentify which media series the selected media asset listing correspondsto. Furthermore, the computing device may also identify which episode ofthe media series the selected media asset listing corresponds to byanalyzing the metadata of the selected media asset listing or its mediaasset. The available media assets may be searched to identify allavailable episodes of the media series.

In step 861, upon identifying the available series episodes, the seriesepisodes that the user has previously viewed may be identified. Thecomputing device may make such a determination by analyzing the mediaconsumption history of the user.

In step 862, once the series episodes that have previously been viewedby the user have been identified, the computing device may determinewhether the user has viewed all of the series episodes preceding theseries episode corresponding to the selected media asset listing. Thecomputing device may identify the episodes that precede the currentlyselected episode from the available series episodes and then determinewhich of these episodes the user has previously viewed.

In step 863, if the user has viewed all episodes preceding the selectedepisode, the computing device may determine whether the user haspreviously viewed the episode corresponding to the selected media assetlisting. By determining whether the user has previously viewed thecurrently selected episode, the computing device may identify that theepisodes to be binge watched are limited to episodes that follow thecurrently selected episode.

In step 864, if the user has not viewed at least some episodes precedingthe selected episode, the computing device may determine whether thenumber of unwatched available episodes preceding the selected episodesis too high in number for all unwatched available episodes to bescheduled before the scheduled multicast time of the selected episode.For example, the computing device may determine that the total timerequired to watch the episodes preceding the selected episode that theuser has not watched back to back from the time at which the media assetlisting was selected would be greater than the time available until theselected media asset listing is scheduled to be multicast. Thisdetermination allows the computing device to determine whether the usercan be caught up on all previous episodes of the media series before theselected episode is multicast.

In step 865, if there are not too many unwatched episodes before theselected episode is multicast, media asset listings for all unwatchedepisodes preceding the selected episode may be assigned to the virtualchannel. These unwatched preceding episodes may be scheduled insuccessive time slots preceding the time slot corresponding to theselected media asset listing. The media assets previously scheduled inthe virtual channel during these successive time slots with media assetlistings may be replaced by the identified series episodes. For example,media asset listings located in the virtual channel time slots precedingthe currently selected media asset listing for “binge watching” may beremoved and replaced with media asset listings for all identifiedepisodes of successive episodes. Next, the method may proceed to step869 to determine whether future series episodes or episodes followingthe selected episode are available.

In step 866, if there are too many unwatched episodes before theselected episode is multicast, the computing device may determinewhether the user has viewed the selected episode. If the user has indeedviewed the selected episode, the method may proceed to step 867 to skipthe display of the selected episode at its current time slot and displaymedia asset listings for all the previously unwatched episodes insuccessive order on the virtual channel. If the option is chosen to skipthe selected episode, the computing device may remove the selected mediaasset listing from the virtual channel and instead display media assetlistings for all the previously unwatched episodes in successive orderon the virtual channel.

In step 867, if the user has viewed the series episode for the selectedmedia asset listing and all previous series episodes, an option may beprovided to the user to skip the selected episode. Selection of such anoption by the user would trigger the computing device to remove theselected media asset listing from the media schedule guide. In someembodiments, this may only occur if it is known that unwatched episodesof the media series are available for binge watching. The selected mediaasset listing may be replaced with a listing for the earliest episodethat has not been watched by the user.

In step 868, if the user has not viewed the selected episode and thereare too many unwatched preceding episodes before the selected episode ismulticast, the selected episode may be recorded and the selected mediaasset listing may be replaced with a media asset listing for one of theunwatched preceding episodes. The selected episode may be recorded inthe DVR and all available unwatched episodes of the media series may bescheduled in successive time slots in the virtual channel. Since theselected media asset listing, if kept in its original position woulddisrupt the order of series episodes set for binge watching, theselected media asset listing may be removed from the virtual channel andrescheduled at a time slot after all the preceding unwatched episodes.The selected episode may be recorded at the DVR at its originalmulticast time. The rescheduled media asset listing for the selectedepisode, when selected for playback, may be retrieved for playback bythe computing device from the DVR.

In step 869, if the user has not viewed the series episode for theselected media asset listing but has viewed all previous seriesepisodes, the computing device may not alter the selected media assetlisting but may determine whether future series episodes or episodesfollowing the selected episode are available. Different multicast mediachannels, on-demand media channels, and/or the user's own DVR may besearched to determine whether there are any such subsequent episodesavailable for thoroughly binge watching the media series. Once theunwatched episodes preceding the currently selected episode have beenscheduled in the virtual channel, the computing device may determinewhether future series episodes or episodes following the selectedepisode are available. If such episodes are not available, the computingdevice may terminate scheduling binge watching episodes and proceed tostep 879 to monitor whether a media content search request has beenreceived.

However, in step 870, if series episodes following the selected seriesepisode are available, media asset listings for all unwatched availableepisodes following the selected series episode may be assigned to thevirtual channel. Media asset listings for these following episodes maybe scheduled in the virtual channel in time slots immediately followingthe selected media asset listing or starting from the time slot of theselected media asset listing if an option to skip the selected mediaasset listing is chosen.

A user of the personalized media interface may also search for mediacontent using a keyword search. In step 879, the computing device maydetermine whether a request for a media content search has beenreceived. If no such request has been received, the computing device maycontinue monitoring for such a request to perform keyword searchcontinuously or periodically. Such a request may be received if a userinput into a keyword search area of a media user interface is detected.Additionally, such a request may also be received if user entry of asearch button on a remote control user input device is detected by thecomputing device.

In step 880, as shown in FIG. 8G, once a request to perform a mediasearch has been received, the computing device may determine whether thenumber of entered characters in a search query exceeds a presetthreshold number of characters. User input of characters is closelymonitored in order to determine how to weight different types of mediasearch results. For example, user input search queries with less thanfour characters result in a higher weighting for media provider searchresults than any other type of media search results since it isdetermined that the user is more likely to be searching for a mediaprovider than any other type of media content if the user input searchquery contains less than four characters. The predetermined thresholdvalue may be user adjustable through the media user interface.

In step 881, if it is determined that the number of entered charactersdoes not exceed the predefined threshold number of characters, a textsearch for media content may be executed in which media providers areassigned higher weighting than other media items, such as media assets.For example, as long as the computing device determines that the numberof entered characters is less than the predefined threshold, then thetext search may be executed to find media providers that best match thestring of characters inputted into a text search area such as query 704that is inputted into text search area 702 of FIG. 7. All possible mediaproviders may be searched using the inputted search query beforesearching other media items such as media content assets.

In step 882, identification of media providers may be presented beforepresenting identification of media content in the search results. Forexample, a listing of the media providers that match the user enteredsearch string may be displayed by the computing device above thelistings for media assets matching the user entered search string in asearch result display area on the media user interface. In anotherembodiment, the search results may be presented to the user verbally asa synthesized speech audio stream. In such an embodiment, the names ofthe media providers matching the input user search query might be playedback as the name of the media provider before the names of the mediacontent matching the user input search query is played back. A higherdisplay weight may be assigned to media provider search results than tomedia asset search results but the degree of match to the entered searchquery may also affect the weighting of the results. Therefore in someother embodiments, some media provider search results that match searchquery well may be displayed above search results for media assets andsome search results that do not match the entered search query may bedisplayed below media asset search results that better match searchquery.

In step 883, if it is determined that the number of entered charactersexceeds the predefined threshold number of characters, the weightingassigned to search results may be reduced for other media items matchingthe user input search query such as media assets. For example, if thecomputing device determines that the input search string of “FOXReport,” exceeds the predefined threshold of four characters for highermedia provider weighting, the computing device reduces the weightingassigned to search results for media providers.

In step 884, the text search may be executed for media content in whichmedia providers' weighting is adjusted relative to other media items(e.g., media assets) based on the number of additional characterspresent in the search query. For example, the weighting of searchresults may be decreased for media providers relative to search resultsfor all other media items by a specific amount that is directlyproportional to the number of characters in the input search query thatare in excess of the predefined threshold number of characters. The textsearch is executed with such an adjusted reduced weighting for mediaproviders search results relative to search results for any other mediaitems. In some embodiments, the text search is iteratively executed bythe computing device every time an additional character is entered inthe search query. With every additional character entered, the computingdevice may reduce the weighting of search results for media providers bya specific quantity.

In step 885, once the text search has been executed with reducedassigned weighting to media provider search results based on the numberof characters entered, the computing device may determine whether mediaproviders, with reduced search result weighting, match the search querybetter than other media content items. Such a determination may be madeby the computing device by matching the degree of match between thecharacters inputted in the search query and the search results. In anembodiment, negative weighting may be assigned to the media providersearch results to deemphasize returning media provider search resultsfor longer search queries. The degree of match between media providersearch results and the search query may be measured and the negativeweighting associated with the search results may be added. The computingdevice may determine whether the negatively weighted media providersearch results still offer a higher degree of search result match thansearch results for other media content.

In step 886, upon determining that even with reduced search resultweighting, media providers match the search query better than othermedia content items, identification of media providers may be presentedbefore presenting identification of media content in search results. Forexample, listings for media providers that match the user entered searchstring may be generated for display above the listings for media assetsmatching the user entered search string in a search result display areaon the media user interface. In another embodiment, the search resultsmay be presented to the user verbally as a synthesized speech audiostream. In such an embodiment, the names of the media providers matchingthe input user search query might be played back as the name of themedia provider before the names of the media content matching the userinput search query is played back.

In step 887, upon determining that with reduced search result weighting,media providers do not match the search query better than other mediacontent items, identification of media providers may be presented afterpresenting identification of media content in search results. Forexample, listings for media providers that match the user entered searchstring may be generated for display below the listings for media assetsmatching the user entered search string in a search result display areaon the media user interface. In another embodiment, the search resultsmay be presented to the user verbally as a synthesized speech audiostream. In such an embodiment, the names of the media providers matchingthe input user search query might be played back as the name of themedia provider after the names of the media content matching the userinput search query is played back.

Aspects of the disclosure have been described in terms of illustrativeembodiments thereof. While illustrative systems and methods as describedherein embodying various aspects of the present disclosure are shown, itwill be understood by those skilled in the art, that the disclosure isnot limited to these embodiments. Modifications may be made by thoseskilled in the art, particularly in light of the foregoing teachings.For example, each of the features of the aforementioned illustrativeexamples may be utilized alone or in combination or subcombination withelements of the other examples. For example, any of the above describedsystems and methods or parts thereof may be combined with the othermethods and systems or parts thereof described above. For example, oneof ordinary skill in the art will appreciate that the steps illustratedin the illustrative figures may be performed in other than the recitedorder, and that one or more steps illustrated may be optional inaccordance with aspects of the disclosure. For example, in someembodiments steps 810-818, steps 829-835, steps 839-848, steps 850-870,and/or steps 879-887 may be performed simultaneously. In someembodiments, steps 801-807, steps 839-848, steps 850-870, and/or steps879-887 may be performed simultaneously.

It will also be appreciated and understood that modifications may bemade without departing from the true spirit and scope of the presentdisclosure. The description is thus to be regarded as illustrativeinstead of restrictive on the present disclosure.

It is noted that various connections are set forth between elements inthe following description. These connections are described in generaland, unless specified otherwise, may be direct or indirect; thisspecification is not intended to be limiting in this respect.

What is claimed is:
 1. An apparatus comprising: one or more processors;and memory storing instructions that, when executed by the one or moreprocessors, cause the apparatus to: determine, based on a user viewinghistory, a user viewing schedule indicating: a plurality of contentitems that a user is predicted to view, and corresponding times at whichthe plurality of content items are to be transmitted; determine, basedon the user viewing schedule, a duration of a timeslot that is betweenscheduled transmission times of a first content item in the user viewingschedule and a second content item in the user viewing schedule;determine, based on the user viewing history, one or more recommendedcontent items; determine, based on the duration of the timeslot, a thirdcontent item of the one or more recommended content items; and causeoutput of a selectable option to output the third content item after thefirst content item and during the timeslot.
 2. The apparatus of claim 1,wherein the instructions, when executed by the one or more processors,cause the apparatus to determine the third content item based on:monitoring, for each of a plurality of different user devices, viewingof content by the user; and selecting different third content items tolist in user viewing schedules of the plurality of different userdevices, wherein the third content item listed in each user viewingschedule is based on content that has been viewed at a corresponding oneof the plurality of different user devices.
 3. The apparatus of claim 1,wherein the instructions, when executed by the one or more processors,cause the apparatus to determine the third content item based on:receiving a user input to view successive episodes of a recurring seriesof episodes corresponding to the second content item; determining anunwatched episode that precedes the second content item in the recurringseries of episodes; and scheduling, in the user viewing schedule, theunwatched episode during the timeslot.
 4. The apparatus of claim 1,wherein the instructions, when executed by the one or more processors,further cause the apparatus to: determine, based on the user viewinghistory, one or more users with similar user viewing histories, whereinthe instructions, when executed by the one or more processors, cause theapparatus to determine the third content item further based on one ormore consumption scores, of the one or more users, for the third contentitem.
 5. The apparatus of claim 1, wherein the instructions, whenexecuted by the one or more processors, further cause the apparatus to:receive an indication of the timeslot; and cause, based on theindication of the timeslot, output of the third content item after thefirst content item and during the timeslot.
 6. An apparatus comprising:one or more processors; and memory storing instructions that, whenexecuted by the one or more processors, cause the apparatus to:determine a user viewing history that indicates, for each of a pluralityof different user devices, viewing of content by a user; and for a firstuser device of the plurality of different user devices: determine, basedon the user viewing history, a user viewing schedule indicating aplurality of content items that the user is predicted to view;determine, based on the user viewing schedule, a first duration of atime period between scheduled transmission times of a first content itemin the user viewing schedule and a second content item in the userviewing schedule; determine, based on the user viewing history, one ormore recommended content items; determine, based on a comparison of thefirst duration and a second duration of a third content item of the oneor more recommended content items, the third content item; and causeoutput of the third content item after the first content item and duringthe time period.
 7. The apparatus of claim 6, wherein the instructions,when executed by the one or more processors, cause the apparatus to:cause output of a display of an interface comprising the user viewingschedule, the interface comprising content listings for the plurality ofcontent items that the user is predicted to view and a listing for thethird content item, wherein the listing for the third content item isarranged in the user viewing schedule at a position corresponding to thetime period.
 8. The apparatus of claim 6, wherein the instructions, whenexecuted by the one or more processors, cause the apparatus to determinethe third content item based on: receiving a user input to viewsuccessive episodes of a recurring series of episodes corresponding tothe second content item; and determining an unwatched episode thatprecedes the second content item in the recurring series of episodes;and schedule, in the user viewing schedule, the unwatched episode duringthe time period.
 9. The apparatus of claim 6, wherein the instructions,when executed by the one or more processors, cause the apparatus to:determine, based on the user viewing history, one or more users withsimilar user viewing histories, wherein the instructions, when executedby the one or more processors, cause the apparatus to determine thethird content item further based on one or more consumption scores, ofthe one or more users, for the third content item.
 10. An apparatuscomprising: one or more processors; and memory storing instructionsthat, when executed by the one or more processors, cause the apparatusto: determine a first content asset and a second content asset that arescheduled for future transmission and that a user is predicted to view;determine a first duration of a time period between scheduledtransmission times of the first content asset and the second contentasset; determine, based on the first duration, one or more recommendedcontent assets; determine a third content asset of the one or morerecommended content assets based on a comparison of the first durationand a second duration of the third content asset; and cause output ofthe third content asset after the first content asset and during thetime period.
 11. The apparatus of claim 10, wherein the instructions,when executed by the one or more processors, cause the apparatus todetermine the third content asset based on: monitoring, for each of aplurality of different user devices associated with the user, viewing ofcontent by the user at that user device; and selecting a different thirdcontent asset for each user device of the plurality of different userdevices, wherein each different third content asset is based on contentthat has been viewed at that user device.
 12. The apparatus of claim 10,wherein the instructions, when executed by the one or more processors,cause the apparatus to determine the third content asset based on:receiving a user input to view successive episodes of a recurring seriesof episodes corresponding to the second content asset; and determiningan unwatched episode that precedes the second content asset in therecurring series of episodes.
 13. A non-transitory computer-readablemedium storing instructions that, when executed, cause: determining,based on a user viewing history, a user viewing schedule indicating: aplurality of content items that a user is predicted to view, andcorresponding times at which the plurality of content items are to betransmitted; determining, based on the user viewing schedule, a durationof a timeslot that is between scheduled transmission times of a firstcontent item in the user viewing schedule and a second content item inthe user viewing schedule; determining, based on the user viewinghistory, one or more recommended content items; determining, based onthe duration of the timeslot, a third content item of the one or morerecommended content items; and causing output of a selectable option tooutput the third content item after the first content item and duringthe timeslot.
 14. The non-transitory computer-readable medium of claim13, wherein the instructions, when executed, cause the determining thethird content item by causing: monitoring, for each of a plurality ofdifferent user devices, viewing of content by the user; and selectingdifferent third content items to list in user viewing schedules of theplurality of different user devices, wherein the third content itemlisted in each user viewing schedule is based on content that has beenviewed at a corresponding one of the plurality of different userdevices.
 15. The non-transitory computer-readable medium of claim 13,wherein the instructions, when executed, cause the determining the thirdcontent item by causing: receiving a user input to view successiveepisodes of a recurring series of episodes corresponding to the secondcontent item; determining an unwatched episode that precedes the secondcontent item in the recurring series of episodes; and scheduling, in theuser viewing schedule, the unwatched episode during the timeslot. 16.The non-transitory computer-readable medium of claim 13, wherein theinstructions, when executed, cause: determining, based on the userviewing history, one or more users with similar user viewing histories,wherein determining the third content item is further based on one ormore consumption scores, of the one or more users, for the third contentitem.
 17. The non-transitory computer-readable medium of claim 13,wherein the instructions, when executed, cause: receiving an indicationof the timeslot; and causing, based on the indication of the timeslot,output of the third content item after the first content item and duringthe timeslot.
 18. A non-transitory computer-readable medium storinginstructions that, when executed, cause: determining a user viewinghistory that indicates, for each of a plurality of different userdevices, viewing of content by a user; and for a first user device ofthe plurality of different user devices: determining, based on the userviewing history, a user viewing schedule indicating a plurality ofcontent items that the user is predicted to view; determining, based onthe user viewing schedule, a first duration of a time period betweenscheduled transmission times of a first content item in the user viewingschedule and a second content item in the user viewing schedule;determining, based on the user viewing history, one or more recommendedcontent items; determining, based on a comparison of the first durationand a second duration of a third content item of the one or morerecommended content items, the third content item; and causing output ofthe third content item after the first content item and during the timeperiod.
 19. The non-transitory computer-readable medium of claim 18,wherein the instructions, when executed, cause: causing output of adisplay of an interface comprising the user viewing schedule, theinterface comprising content listings for the plurality of content itemsthat the user is predicted to view and a listing for the third contentitem, wherein the listing for the third content item is arranged in theuser viewing schedule at a position corresponding to the time period.20. The non-transitory computer-readable medium of claim 18, wherein theinstructions, when executed, cause the determining the third contentitem by causing: receiving a user input to view successive episodes of arecurring series of episodes corresponding to the second content item;and determining an unwatched episode that precedes the second contentitem in the recurring series of episodes; and scheduling, in the userviewing schedule, the unwatched episode during the time period.
 21. Thenon-transitory computer-readable medium of claim 18, wherein theinstructions, when executed, cause: determining, based on the userviewing history, one or more users with similar user viewing histories,wherein determining the third content item is further based on one ormore consumption scores, of the one or more users, for the third contentitem.
 22. A non-transitory computer-readable medium storing instructionsthat, when executed, cause: determining a first content asset and asecond content asset that are scheduled for future transmission and thata user is predicted to view; determining a first duration of a timeperiod between scheduled transmission times of the first content assetand the second content asset; determining, based on the first duration,one or more recommended content assets; determining a third contentasset of the one or more recommended content assets based on acomparison of the first duration and a second duration of the thirdcontent asset; and causing output of the third content asset after thefirst content asset and during the time period.
 23. The non-transitorycomputer-readable medium of claim 22, wherein the instructions, whenexecuted, cause the determining the third content item by causing:monitoring, for each of a plurality of different user devices associatedwith the user, viewing of content by the user at that user device; andselecting a different third content asset for each user device of theplurality of different user devices, wherein each different thirdcontent asset is based on content that has been viewed at that userdevice.
 24. The non-transitory computer-readable medium of claim 22,wherein the instructions, when executed, cause the determining the thirdcontent item by causing: receiving a user input to view successiveepisodes of a recurring series of episodes corresponding to the secondcontent asset; and determining an unwatched episode that precedes thesecond content asset in the recurring series of episodes.